在Java中,創建並顯示一個新的JFrame
,我只是這樣做:爲什麼人們對事件隊列運行Java GUI的
public static void main(String[] args) {
new MyCustomFrameClass().setVisible(true);
}
不過,我看到很多人在做這樣的:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
new MyCustomFrameClass().setVisible(true);
}
});
}
爲什麼?有什麼優勢嗎?
如果需要從我的GUI啓動,我如何在EDT之外進行操作? (按鈕事件等)另外,我是否需要僅將EDT用於主框架?如果用戶從主框架打開另一個JFrame(例如選項窗口),是否需要在EDT上啓動它? – asmo 2010-06-10 21:35:55
@asmo:我將編輯我的問題以舉例 – NoozNooz42 2010-06-10 21:38:40
@asmo:您需要在EDT上處理與GUI相關的* everything *(因此在您的*「選項窗口」*例如yup中需要也可以在EDT上完成)。 – NoozNooz42 2010-06-10 21:45:15