【发布时间】:2011-08-19 22:09:34
【问题描述】:
我试图捕捉用户点击和 JDialog 的“X”按钮的事件,并且只有在用户确认时才会关闭。所以这是我正在做的事情的骨架:
public class MyDialog extends JDialog {
public MyDialog(){
super();
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
.........
}
.........
}
public class Waiter implements WindowStateListener{
@Override
public void windowStateChanged(WindowEvent event) {
System.out.println(event);
if (event.getNewState() == WindowEvent.WINDOW_CLOSING) {
if (shouldClose()) {
dialog.close();
}
}
}
}
MyDialog dialog = new MyDialog();
Waiter waiter = new Waiter();
dialog.addWindowStateListener(waiter);
您可以猜到,当我单击对话框的“X”时,我没有收到打印消息,因为从未调用过该方法。我不确定问题出在哪里。
【问题讨论】:
标签: java jdialog windowlistener