如何在 Swing 中实现倒计时器

发布于 2024-12-01 14:06:27 字数 247 浏览 1 评论 0原文

我想知道如何在 swing 中实现倒计时器。
我目前正在开发一个带有倒计时器的网络游戏,我需要计时器一直显示在角落里。
问题是我不知道如何实现它,让游戏屏幕在计时器打开的同时始终对用户做出响应。

1.我问它是因为我知道每次更新该视图是通过事件调度线程保存的,但如果有一些东西持续运行(例如计时器),它也可能冻结我的游戏。

2.设计方面:您知道如何以有吸引力的甚至动画的方式显示计时器的一些好方法吗?

预先非常感谢

I would like to know how should I implement a count down timer in swing.
I'm currently developing a net game with count down timer, and I need the Timer to be shown all the time in the corner.
The problem is I don't know how to implement it in away that the game screen will be responsive all the time for the user in the same time the timer is on..

1.I'm asking it because I know every update to the view is being held through the event dispatch thread but it can also freeze my game if there is something which run there consistently (like timer).

2.Design aspect :Do you know some nice ways of how to show the timer in an attractive and maybe animated way?

Thank you very much in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路弥 2024-12-08 14:06:27

使用 javax.swing.Timer 类。这将以固定的时间间隔触发操作事件,从而防止 GUI 变得无响应。

至于动画,请参阅2D 图形教程。

Use the javax.swing.Timer class. This will fire action events at fixed intervals, which will prevent the GUI from becoming unresponsive.

As for animation, see the 2D Graphics tutorial.

猫腻 2024-12-08 14:06:27
 int j=10; 
 final Timer t = new Timer(1000, new ActionListener() {
private long time = 10 * 1000; //10 seconds, for example

public void actionPerformed(ActionEvent e) {
    if (time > 0) {
        time -= 1000;
        j--;
         jLabel1.setText(Long.toString(j));

    }
}
});
t.start();
 int j=10; 
 final Timer t = new Timer(1000, new ActionListener() {
private long time = 10 * 1000; //10 seconds, for example

public void actionPerformed(ActionEvent e) {
    if (time > 0) {
        time -= 1000;
        j--;
         jLabel1.setText(Long.toString(j));

    }
}
});
t.start();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文