正常に動作する Windows プログラムは、ユーザーが PC をシャットダウンするときに作業を保存できるようにする必要があります。
アプリでシャットダウン イベントを検出するにはどうすればよいですか? ユーザーが「キャンセル」を選択した場合、ユーザーがシャットダウンを中止できるようにする必要があります。
通常の Swing ウィンドウのクローズ フックは機能せず、シャットダウン フックの追加も機能しません。
テストでは、WindowListener のメソッド (windowClosing、windowClosed など) は呼び出されません。
私が受け入れた回答では、プラットフォーム固有のコード (JNI を WM_QUERYENDSESSION に登録する) を使用する必要があります。これは Swing のバグではありませんか?
http://forums.sun.com/thread.jspa?threadID=481807&messageID=2246870を参照してください。