使用Swing进行多线程处理:更新和更新的线程重绘?

时间:2017-03-06 11:21:28

标签: java multithreading swing

我需要每隔X毫秒更新并重新绘制我的应用程序,这意味着我需要创建一个调用frame.update()这个自定义方法的线程,frame.repaint() JFrame,但我担心的是,如果这会导致任何死锁或其他多线程问题,因为据我记得Swing有自己的线程来更新组件等等,所以在这种情况下我有点无能而且我正在尝试研究在做一些可能给我未来问题的事情之前做一点。

是什么让我觉得它会导致问题是因为我使用的是SwingUtilities.invokeLater new runnable

或者使用SwingUtilities是否有原创方法?

是否可以创建运行一个每X毫秒重新绘制一次帧的线程?

1 个答案:

答案 0 :(得分:0)

使用Swing Timer,您不必注意从哪个线程开始调用UI更新。

How to Use Swing Timers

timer = new Timer(speed, this); 
timer.setInitialDelay(pause); 
timer.start();