我写了一个程序,有两个计时器运行小动画。最初timerX在5ms运行,timerY运行1ms。我将程序导出到一个可执行的jar文件,一切正常。然后我将jar发送到另一台运行相同规格的计算机,并且再次没有问题。但是,我决定加速timerX,所以我把这个计时器改为运行1ms,运行,保存并导出文件。在我的桌面上,这个新文件运行得很完美,但是当它传递到另一台计算机时,与前一个没有任何变化。在重新发送到可执行jar文件之前,我是否需要在eclipse中做些什么?另外,为什么它从我的桌面运行良好,而不是在另一台计算机上运行 - 第二个计时器也设置为1毫秒,在两个实例中运行速度相同。
答案 0 :(得分:2)
如Timer accuracy所示,时钟分辨率取决于主机平台和操作系统。虽然默认情况下javax.swing.Timer
会合并事件,但计时器线程会在如此短的时间内(高频率)快速饱和。您可能需要对旧系统进行补偿。