【发布时间】:2009-10-19 04:38:52
【问题描述】:
我希望定期在我的 Java2D 模拟器中调用 repaint()。
最好的方法是什么?我应该启动另一个线程并有一个循环来跟踪 currentTimeMillis() 吗?还是有更好的办法?
【问题讨论】:
-
您的模拟器需要“尽可能快地模拟”还是“以固定速率模拟”?答案可能会改变你的结构。
我希望定期在我的 Java2D 模拟器中调用 repaint()。
最好的方法是什么?我应该启动另一个线程并有一个循环来跟踪 currentTimeMillis() 吗?还是有更好的办法?
【问题讨论】:
在java中使用定时器功能(javax.swing.Timer)
这可能对你有用efiicient way to repaint
【讨论】:
使用计时器。如果它是 Swing 应用程序,请使用 Swing 计时器。如果是 AWT,则使用 TimerTask。
【讨论】:
Timer 适用于 AWT。使用java.util.Timer,您需要自己执行invokeLater。