我最近發現的示例代碼:爲什麼使用invokeLater很重要?
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的線程將導致奇怪且不可重複的行爲。這是測試多線程代碼時遇到的問題,您可以在幾天內運行它並更改較小的內容,並且突然顯示它經常出現。 –
可能的重複http://stackoverflow.com/questions/6567870/what-does-swingutilities-invokelater-do – Masudul