我正在使用 Netbeans 开发游戏,但现在我被卡住了。
在主JFrame
类中,我开发了一些方法,每个方法都有很多行,例如框架包含的组件的图标发生变化。问题是我只有在方法完成执行后才能同时看到更改,而不是按顺序查看它们。
我知道这一点是因为在我的一种方法中,例如,我使用多个线程在多次JLabel
图标更改之间花费几秒钟,但结果是在等待我使用的所有线程对象的全部秒数之后,所有更改都是正好同时显示。我想它一定是在方法结束之前刷新框架的一种方式,但是哪一种呢?
我正在使用 Netbeans 开发游戏,但现在我被卡住了。
在主JFrame
类中,我开发了一些方法,每个方法都有很多行,例如框架包含的组件的图标发生变化。问题是我只有在方法完成执行后才能同时看到更改,而不是按顺序查看它们。
我知道这一点是因为在我的一种方法中,例如,我使用多个线程在多次JLabel
图标更改之间花费几秒钟,但结果是在等待我使用的所有线程对象的全部秒数之后,所有更改都是正好同时显示。我想它一定是在方法结束之前刷新框架的一种方式,但是哪一种呢?
看看 SwingWorker。您应该在此线程中进行所有计算,并让 EventDispatchThread 空闲,以便它可以刷新您的 UI。
http://docs.oracle.com/javase/tutorial/uiswing/concurrency/worker.html