【问题标题】:How to implement a frontend view of a backend countup timer in java?如何在java中实现后端计数计时器的前端视图?
【发布时间】:2010-10-17 05:30:29
【问题描述】:

尝试为我正在制作的游戏实现计时器。我有一个后端类Game,它有一个int timeElapsed() 方法。这给了我自开始以来经过的时间(以毫秒为单位)。我还有一个前端视图,需要更新此经过的时间。同步这两个值的最佳方法是什么?我可以设置一个守护进程来每秒调用game.timeElapsed(),但似乎必须有更好的方法来做到这一点。

我的另一个想法是在前端放置一些计时,但这似乎违反了职责分离。

我用来记录时间的Stopwatch 类不支持回调。

想法?

【问题讨论】:

    标签: java


    【解决方案1】:

    使用java.util.Timer 类定期更新视图。在每次迭代中调用game.timeElapsed(),不要保留两个Stopwatch-objects。

    【讨论】:

    • 我应该每秒调用一次吗?
    • 是的,你给计时器一个调用 game.timeElapsed() 的任务(并更新视图),并安排它每秒执行一次。
    • -1 这是错误的......使用整个计时器来完成如此微不足道的任务?你不能每帧都调用 game.timeElapsed() 吗?
    • @Vuntic,什么? 这种方法非常好。大多数 Java GUI 都是事件驱动的,因此甚至不会像您想象的那样存在“渲染循环”。
    猜你喜欢
    • 2018-03-30
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 2021-03-22
    • 1970-01-01
    • 2017-05-29
    相关资源
    最近更新 更多