16

Swing を使用してビジネスの運用部分を管理するための単純なアプリケーションを開発していますが、アプリケーションが終了するときにこれを実行する必要があります。

updateZonas();
db.close();

しかし、どうすればこれを行うことができますか?

4

3 に答える 3

35
Runtime.getRuntime().addShutdownHook(new Thread()
{
    @Override
    public void run()
    {
        updateZonas();
        db.close();
    }
});

これは、任意の Java アプリケーション (Swing/AWT/Console) で機能します。

于 2010-03-18T12:13:14.443 に答える
30

JFrameを使用していますか?もしそうなら、あなたはこれを試すことができます:

    myframe.addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowClosing(WindowEvent winEvt) {
            updateZonas();
            db.close();
            System.exit(0);
        }
    });
于 2010-03-18T01:52:46.727 に答える
7

WindowListenerJFrameにを追加します。そのwindowClosingメソッドは、必要なコードSystem.exit(0)(またはその他の戻りコード)を呼び出します。

于 2010-03-18T01:52:42.177 に答える