2

小さな問題があります。

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

問題は、JFramewithEXIT_ON_CLOSEを使用しているため、ウィンドウを閉じると JVM がシャットダウンし、イベントが届かないことです。

イベントを使用するwindowClosingと、リソースを解放した後で、誰かが実際に終了イベントをオーバーライドできます。これにより、ネイティブ コードでセグメンテーション違反が発生します。

EXIT_ON_CLOSEリスナーからand 呼び出しを片付けることができますSystem.exit(0)が、それはきれいに思えません。

4

2 に答える 2

3

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

于 2012-04-14T18:18:52.333 に答える
0

JFrameリソースを解放する前にを非表示にして、windowClosing中断されないようにすることができます

于 2012-04-14T18:19:09.760 に答える