Я пытаюсь поймать событие, когда пользователь нажимает на кнопку «X» на JDialog и закрывается, только если пользователь подтверждает.Итак, вот скелет того, что я делаю:
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» для диалогового окна, я не получаю напечатанное сообщение, потому что метод никогда не вызывается.Я не уверен, в чем проблема.