【问题标题】:What is the best way to call repaint() at regular intervals in my Java2D program?在我的 Java2D 程序中定期调用 repaint() 的最佳方法是什么?
【发布时间】:2009-10-19 04:38:52
【问题描述】:

我希望定期在我的 Java2D 模拟器中调用 repaint()。

最好的方法是什么?我应该启动另一个线程并有一个循环来跟踪 currentTimeMillis() 吗?还是有更好的办法?

【问题讨论】:

  • 您的模拟器需要“尽可能快地模拟”还是“以固定速率模拟”?答案可能会改变你的结构。

标签: java java-2d


【解决方案1】:

在java中使用定时器功能(javax.swing.Timer

这可能对你有用efiicient way to repaint

【讨论】:

    【解决方案2】:

    使用计时器。如果它是 Swing 应用程序,请使用 Swing 计时器。如果是 AWT,则使用 TimerTask。

    【讨论】:

    • Swing 的Timer 适用于 AWT。使用java.util.Timer,您需要自己执行invokeLater
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2019-10-28
    • 2010-10-20
    • 2011-08-12
    相关资源
    最近更新 更多