При закрытии Swing Frame пользователь и система инициировали закрытие. Как определить разницу? - PullRequest
4 голосов
/ 23 сентября 2011

Я искал ответ на эту проблему, но, похоже, нигде не могу его найти.Возможно, я просто не знаю правильных ключевых слов.Любое нежное подталкивание в правильном направлении будет высоко ценится.

Как правило, когда пользователь нажимает x, чтобы закрыть рамку, я хочу выполнить одно действие.Когда Windows закрывается и вызывает закрытие, я хочу предпринять другое действие.Естественно, я буду использовать DO_NOTHING_ON_CLOSE или HIDE_ON_CLOSE, и я знаю, как захватить событие.Все, что мне нужно, это «кто» инициировал это.Ответ ускользает от меня.

Приветствия.

1 Ответ

4 голосов
/ 23 сентября 2011

A WindowListener сообщит вам, когда пользователь сделал что-то, что влияет на окно, но внезапное завершение JVM может вообще не вызывать событий окна. Возможно, вы ищете метод Runtime, addShutdownHook(), обсуждается здесь и здесь .

...