我有一个运行我的应用程序的主要JFrame。它调用JDialog类来执行实用程序功能,在执行其功能后,用户关闭对话框。我希望JFrame检测到JDialog已被关闭。换句话说,如何在对话框关闭时从对话框中触发事件,然后在JFrame上捕获它。谢谢。
答案 0 :(得分:2)
您可以实现WindowListener并将其添加到JDialog。 JDialog关闭后您寻找的逻辑可以放在WindowListener的windowClosed或windowClosing方法中。有关如何实现此侦听器的更多信息,请参阅Oracle的Window Listener Tutorial。下面是使用WindowAdapter类(WindowListener的空实现)并重写windowClosed方法的示例:
myJDialog.addWindowListener(new WindowAdapter(){
@Override
public void windowClosed(WindowEvent e){
myJframe.doSomething();
}
});
答案 1 :(得分:1)
你应该为你的JDialog添加一个Window Listener
jdialog.addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
System.out.println("jdialog window closed event received");
}
public void windowClosing(WindowEvent e) {
System.out.println("jdialog window closing event received");
}
});
如果希望事件由特定对象直接处理,则此对象应实现WindowAdapter。例如你的jFrame。