JFrame仅在方法结束时刷新

时间:2012-06-13 18:40:35

标签: java swing jframe jlabel event-dispatch-thread

我正在使用Netbeans开发游戏,但现在我被卡住了。

在主JFrame类中,我开发了一些方法,每个方法都有很多行,例如,框架所包含的组件图标会发生变化。问题是,一旦方法完成执行,我只会同时看到更改,而不是按顺序查看它们。

我知道这是因为在我的一个方法中,例如,我使用多个线程在许多JLabel图标更改之间花费几秒钟,但结果是在等待所有线程的全部秒数之后我使用的对象,所有更改都会同时显示。我想它必须是一种在方法结束之前刷新帧的方法,但是哪一个?

1 个答案:

答案 0 :(得分:1)

看看SwingWorker。你应该在这个线程中进行所有计算并保持EventDispatchThread空闲,这样它就可以刷新你的UI。

http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html