現在,打開一個對話框,我創建一個新的JDialog
對象,然後調用dispose
退出對話框。有沒有辦法使用相同的對象多次調出對話框?
有沒有一種方法可以創建一個對話框,稍後使用相同的對象調用相同的對話框?
我想要這樣做的原因是,文本字段中的值將保持其值。
現在,打開一個對話框,我創建一個新的JDialog
對象,然後調用dispose
退出對話框。有沒有辦法使用相同的對象多次調出對話框?
有沒有一種方法可以創建一個對話框,稍後使用相同的對象調用相同的對話框?
我想要這樣做的原因是,文本字段中的值將保持其值。
JDialog d = new JDialog();
d.setVisible(false);
您還可以使用this.setVisible(false)
對話框裏面,所以它不會破壞,是從父類使用。此外,如果它有輸入字段,它們不會被清除。 它在windows10任務欄中是不可見的,不瞭解linux。
對於經常顯示/隱藏的對話框,我使用單例模式。只要你永遠不需要其中的一個以上,例如一個「設置」對話框。創建一個擴展JDialog的類,使用singleton pattern。
public class SettingsDialog extends JDialog {
private static SettingsDialog instance = null;
public static SettingsDialog getInstance() {
if (instance == null) {
instance = new SettingsDialog();
}
return instance;
}
private SettingsDialog() {
super();
}
}
然後,當你想展示你的對話框(從按鈕或菜單項的動作監聽)正如其他人所說的使用方法調用setVisible。
SettingsDialog.getInstance().setVisible(true);
您可以使用['setVisible'(https://docs.oracle.com/javase/7/docs/api/java/awt/Dialog.html#setVisible(布爾)),以顯示和隱藏它,並且不要處置它。 – khelwood
如果你真的需要處理JDialog,那麼你需要在一些Pojos中存儲填充GUI的「模型 - 數據」...... –