Swing应用程序的OnExit事件?

时间:2010-03-18 01:31:16

标签: java swing exit

我正在开发一个简单的应用程序来使用Swing管理业务的运营部分,但我需要在应用程序退出时执行此操作:

updateZonas();
db.close();

但我怎么能这样做?

3 个答案:

答案 0 :(得分:33)

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

这适用于任何Java应用程序(Swing / AWT / Console)

答案 1 :(得分:28)

您使用的是JFrame吗?如果是这样,你可以试试这个:

    myframe.addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowClosing(WindowEvent winEvt) {
            updateZonas();
            db.close();
            System.exit(0);
        }
    });

答案 2 :(得分:7)

向您的JFrame添加WindowListener。它的windowClosing方法会调用您需要的任何代码,然后调用System.exit(0)(或其他一些返回代码)。