2012-04-14 2 views
2

小さな問題があります。EXIT_ON_CLOSE JFrameでwindowClosedを呼び出す

私のJavaアプリケーションは、いくつかのネイティブリソースを保持しています。私はアプリケーションを終了する直前にそれらのリソースを解放したいです。したがって、windowClosedイベントでこれらのリソースを解放するWindowListenerを書きました。

問題は私がEXIT_ON_CLOSEJFrameを持っていることです。ウィンドウを閉じると、JVMがシャットダウンされ、イベントは私に届きません。

私がwindowClosingイベントを使用すると、誰かが実際に閉じるイベントを上書きすることができます。私はリソースを解放しました。これにより、ネイティブコードのsegfaultsが発生します。

私はちょうどEXIT_ON_CLOSEを捨てて、リスナーからSystem.exit(0)と呼ぶことができますが、それは私にはきれいに見えません。

答えて

3

シャットダウンフックを追加してネイティブリソースを解放することができますか? Runtime.getRuntime().addShutdownHook(Thread t)。詳細はhereをご覧ください。

+0

ニースを、中断されないことを確認することができますので、リソースを解放する前windowClosingJFrameを非表示にすることができます。 GUIからのクリーンアップも正しいとは思わなかった。 –

0

あなたはそれは私が必要なものだけ

関連する問題