有没有办法判断一个Dialog是否已在java中关闭,这里是最小代码:
JFrame jframe = new JFrame();
Dialog dialog = new Dialog(jframe);
JButton jbutton = new JButton("Press to stuff");
jframe.add(jbutton);
jbutton.addActionListener((e)->{
methodStuff(dialog);
//stuff to do after dialog has been closed
}
在这个所谓的“methodStuff”中的某个地方
...
dialog.dispose();
...
我该如何检查这一行:“dialog.dispose();”发生了什么?这可能吗?
答案 0 :(得分:1)
您需要在对话框中添加一个监听器,并将要执行的代码放在override方法中...
JFrame jframe = new JFrame();
Dialog dialog = new Dialog(jframe);
JButton jbutton = new JButton("Press to stuff");
dialog .addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
//your code here!!!
}
});
答案 1 :(得分:0)
添加窗口侦听器和窗口适配器以跟踪此
答案 2 :(得分:0)
以简单的方式,只需在父类中保留一个布尔值,只需更改对话框的状态(true或false)即可。 例如,当对话框出现时将值更改为 true ,并在 dispose();之前将值更改回 false 。