Программы Windows с хорошим поведением должны позволять пользователям сохранять свою работу, когда они выключают компьютер.
Как я могу заставить мое приложение обнаруживать событие завершения работы? Любое решение должно позволять пользователю прерывать выключение, если пользователь выбирает, скажем, «Отмена».
Обычный закрывающий крюк окна Swing не работает и не добавляет закрывающий крюк.
При тестировании методы WindowListener (windowClosing, windowClosed и т. Д.) Не вызываются.
Ответ, который я принял, требует использования специального кода платформы (JNI для регистрации на WM_QUERYENDSESSION). Разве это не ошибка на Swing?
См. http://forums.sun.com/thread.jspa?threadID=481807&messageID=2246870