【问题标题】:executable jars with timers带有计时器的可执行 jar
【发布时间】:2012-02-20 01:08:21
【问题描述】:

我编写了一个带有两个运行小动画的计时器的程序。最初 timerX 运行时间为 5 毫秒,而 timerY 运行时间为 1 毫秒。我将程序导出到一个可执行的 jar 文件中,一切正常。然后我将罐子发送到另一台运行相同规格的计算机上,再次没有问题。但是,我决定加快 timerX 的速度,因此我将这个计时器更改为以 1 毫秒运行,然后运行、保存并导出文件。在我的桌面上,这个新文件运行得很好,但是在将它传递到另一台计算机时,与之前的文件没有任何变化。在将其重新发送到可执行 jar 文件之前,我需要在 eclipse 中做些什么吗?还有为什么它在我的桌面上运行良好,但在另一台计算机上却没有 - 第二个计时器也设置为 1ms,在两种情况下运行速度同样快。

【问题讨论】:

    标签: java eclipse swing timer


    【解决方案1】:

    Timer accuracy 所示,时钟分辨率取决于主机平台和操作系统。尽管javax.swing.Timer 默认情况下会合并 事件,但计时器线程会在如此短的周期(高频率)内迅速饱和。您可能需要在旧系统上进行补偿。

    【讨论】:

    • 我很欣赏这一点,并期待有所不同——但似乎正在发生的事情是,它以某种方式锁定了我最初所做的第一个设置(定时器 5)——即使我将代码更改为定时器 100示例并将其保存到罐子中,当我将其发送到我的另一台计算机时,它似乎仍然以计时器 5 的速度运行 - 因此我无法补偿速度变慢或变快。
    • 如果值是compile-time constant,你可能需要做一个clean and build来刷新对应的class文件。
    猜你喜欢
    • 2011-05-29
    • 2014-11-14
    • 1970-01-01
    • 2012-09-11
    • 2015-08-07
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    相关资源
    最近更新 更多