如何查看对话框是否已关闭?

时间:2016-04-30 04:31:55

标签: java

有没有办法判断一个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();”发生了什么?这可能吗?

3 个答案:

答案 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