【发布时间】:2013-10-10 14:54:53
【问题描述】:
我最近找到了一个示例代码:
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
createAndShowGUI() 方法打开一个用户界面窗口。然后我尝试将代码修剪如下:
public static void main(String[] args) {
createAndShowGUI();
}
两个版本的效果一样好。有什么区别?
【问题讨论】:
-
在大多数情况下,它同样可以正常工作,但偶尔您的 GUI 线程和更新 GUI 的线程会导致奇怪且无法重现的行为。这就是测试多线程代码的问题,你可以运行它几天并更改一些小的东西,突然它经常出现。
标签: java swing event-dispatch-thread invokelater