2
我想顯示JDialog
所以我用這個:使用SwingUtilities.invokeLater關注一個JDialog?
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() { new DialogBox().setVisible(true); }
});
它工作正常顯示,但然後我JDialog
不留焦點,它需要(用戶應該不能工作在對話框打開時使用主UI)。
擺脫SwingUtilities.invokeLater()
安全嗎?
呵呵,根據this question擴展JDialog或JFrame是不明智的,爲什麼?這就是我一直這樣做的。
不要你只是想要一個模態對話框? –
擴展一個JDialog或JFrame歸結爲設計。您實際添加到這些頂級容器的功能是什麼?這也是一個考慮因素,如果您直接在這些頂級容器之一上構建UI,則將來會限制您的UI組件的使用。最好是擴展JPanel之類的東西,在此基礎上構建你的UI,提供所需的訪問器並將它放置在所需頂級容器的實例的頂部 – MadProgrammer