我对 Java 比较陌生,但一般不会编程。我在 Windows Vista 上使用 Java 1.7.0_07。我试图弄清楚如何Timer
定期使 Swing 滴答作响。
我注意到,即使我设置了计时器延迟,并且在我的actionPerformed
事件处理程序中除了一个repaint()
方法之外什么都没有,计时器滴答声也不稳定甚至不准确。
我一直在寻找解决方案一段时间,并查看了 John B Matthews 博士相当简洁的动力学模型示例。在他的示例中,默认延迟为 40mS,但计时器实际上以 47mS +/- 1mS 计时(偶尔会出现从 32mS 到 63mS 的变化)。在他的actionPerformed
事件处理程序中花费的时间总是 0mS。这些结果来自于将他的代码作为应用程序运行。
如果您仔细观察“原子”的移动,则口吃很明显。我不明白是什么导致计时器以这种方式运行。我的计算机上运行了最少的 Windows 任务,但问题仍然存在。
是否有解决此问题的方法,或者这只是 Java 的一个功能?