より大きなアプリケーションの一部として、ユーザー定義の設定を収集して保存する設定クラスを作成しています。このクラスはシングルトンであり、アプリケーションの起動時にインスタンス化されます。
ユーザー入力を受け入れるために、2つの異なるGUIフレームが、ConfigSettings.java内から、パブリック静的メソッドselectSettings()からインスタンス化されます。どちらもJFrameのサブクラスです。ファイル選択ダイアログをインスタンス化するためのコードは次のとおりです。
private void selectFile() {
SelectFileGUI fileSelector = new SelectFileGUI();
fileSelector.setVisible(true);
synchronized(this) {
try {
wait();
} catch(Exception e) {
e.printStackTrace();
}
}
fileSelector.dispose();
}
これは、アプリケーションが最初に実行されるときに正常に機能します。ただし、後でユーザーは、新しいソースファイルの選択など、選択した設定を変更できます。これは、selectSettings()を再度呼び出すことによって行われます。
私が抱えている問題は、これらのGUIコンポーネントをインスタンス化して表示しようとすると、新しいJFrameが表示されますが、背景が灰色で、ボタンやその他のコンポーネントが表示されないことです。デバッグ中に、SelectFileGUIの新しいインスタンスを直接作成することもできませんでした。
この種の動作を引き起こしている可能性があるのは何ですか?