親ダイアログから子ダイアログを削除したい子ダイアログをクリックしないでをクリックします。親ダイアログの作成ソースコードを編集しないでください。親ダイアログは再利用されており、1度しか作成されません。親ダイアログから子jdialog参照を削除する方法Java Swing
0
A
答えて
0
私は、これはあなたの答えであると思います:
package stack;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DialogShower implements WindowListener {
JFrame frame;
JButton showButton;
ParentDialog parentDialog;
boolean fristTimeOpen = true;
public DialogShower() {
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
parentDialog = new ParentDialog();
parentDialog.addWindowListener(this);
showButton = new JButton("Show me");
showButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (fristTimeOpen) {
parentDialog.childDialog.setVisible(true);
}
parentDialog.setVisible(true);
}
});
frame.getContentPane().add(showButton);
frame.setSize(100, 100);
frame.setVisible(true);
}
public class ParentDialog extends JDialog {
ChildDialog childDialog;
public ParentDialog() {
super(frame, "ParentDialog", true);
childDialog = new ChildDialog();
}
public class ChildDialog extends JDialog {
JLabel label;
public ChildDialog() {
super(ParentDialog.this, "childDailg", false);
label = new JLabel("Notification : Dialog");
getContentPane().add(label);
setLocation(300, 300);
}
}
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowClosed(WindowEvent e) {
System.out.println("2");
}
@Override
public void windowClosing(WindowEvent e) {
fristTimeOpen = false;
parentDialog.childDialog.dispose();
}
@Override
public void windowDeactivated(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowOpened(WindowEvent e) {
}
public static void main(String[] args) {
new DialogShower();
}
}
ボタンShow me
上で開いている親ダイアログと同様に、子ダイアログをクリックしたときに、私は2つのダイアログを作成しました。親ダイアログを閉じると、自動的に子ダイアログが閉じます。私はWindowListener
を使用して、親Dialogでアクションを実行します。親ダイアログを再度開くと、子ダイアログが開きません。
+0
ありがとうございました。私の場合、親ダイアログを編集することはできません。 –
関連する問題
- 1. Swing JDialogの「X」ボタンを削除
- 2. Hibernate:子が参照していない親を削除する
- 3. JDialogからアイコンを完全に削除する方法は?
- 4. 子ムービークリップから親ムービークリップを削除する方法3?
- 5. 参照リストから完全に参照を削除する
- 6. は、親から子ノードを削除 - PugiXML
- 7. Maven:親POMの子プロジェクトのビルドディレクトリを参照する方法は?
- 8. SQL Serverの参照テーブルから削除するトリガーを作成する方法
- 9. Java:親クラスの子供のフィールドを参照する
- 10. 子変数を参照する親クラス
- 11. 親クラスを参照する方法?
- 12. Grailsから親を削除している間に子を削除しないようにする方法は?
- 13. 子オブジェクトから親に戻って参照する
- 14. C#、親参照から子プロパティにアクセスする?
- 15. 親コンポーネント内から子コンポーネントの参照にアクセスする
- 16. JavaのArraylistから親Arraylistを参照する
- 17. シェルで親プロセスと子プロセスを削除する方法は?
- 18. 親プロセスの子プロセスのツリーを削除する方法
- 19. PHPメニュー - 再帰的に親子を削除する方法
- 20. プロジェクトから削除した後に参照.dllを見つける方法
- 21. C#アプリケーションでExcel Interopオブジェクトの参照を削除する方法
- 22. Facebookの「Insights For My Domain」の参照を削除する方法
- 23. angularfire2でリンクされた参照を削除する方法は?
- 24. EFでは、親ローを最初に参照している子ローを子ロークローンで削除して、それを削除すると効率的ですか?
- 25. 親から子の実行を除外する方法
- 26. 親ビューからの子ビューを参照してください。
- 27. 親ノードから子を削除するSwift 2
- 28. 親クラスの子エンティティをセットから削除する
- 29. Java Listのnull参照を削除するヘルパー?
- 30. Visual Studio 2010の.netタブから参照を削除する
JDialogを終了しますか? – clabe45
はい。子ダイアログ親ダイアログは再利用され、一度だけ作成されます。 –
コンテキストとは何ですか?もっとコードを投稿できますか? – clabe45