У меня, похоже, обратная проблема для большинства людей. У меня есть следующий довольно стандартный код чтобы увидеть, хочет ли пользователь сделать некоторые сохранения перед закрытием окна:
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
boolean close = true;
// check some files, asking if the user wants to save
// YES and NO handle OK, but if the user hits Cancel on any file,
// I want to abort the close process
// So if any of them hit Cancel, I set "close" to false
if (close) {
frame.dispose();
System.exit(0);
}
}
});
Независимо от того, что я пытаюсь, окно всегда закрывается, когда я выхожу из windowClosing. Изменение WindowAdapter на WindowListener не имеет никакого значения. Что странно, так это что в документации прямо говорится: «Если программа явно не скрывает или не удаляет окно во время обработки этого события, операция закрытия окна будет отменена», но для меня это не работает. Есть ли другой способ обработки x на раме? TIA