2

を表示したいJDialogので、これを使用します:

SwingUtilities.invokeLater(new Runnable() {
    @Override
    public void run() { new DialogBox().setVisible(true); }
});

それを表示するのJDialogはうまくいきますが、必要なフォーカスを保持しません (ダイアログが開いている間、ユーザーはメイン UI を使用して作業することはできません)。

を取り除くのは安全SwingUtilities.invokeLater()ですか?

ああ、この質問によれば、JDialog または JFrame を拡張するのは賢明ではありません。なぜですか? それが私がいつもそれをしてきた方法です。

4

1 に答える 1