【发布时间】:2010-03-18 01:31:15
【问题描述】:
我正在开发一个简单的应用程序来使用 Swing 管理业务的运营部分,但我需要在应用程序退出时执行以下操作:
updateZonas();
db.close();
但是我该怎么做呢?
【问题讨论】:
我正在开发一个简单的应用程序来使用 Swing 管理业务的运营部分,但我需要在应用程序退出时执行以下操作:
updateZonas();
db.close();
但是我该怎么做呢?
【问题讨论】:
Runtime.getRuntime().addShutdownHook(new Thread()
{
@Override
public void run()
{
updateZonas();
db.close();
}
});
这适用于任何 Java 应用程序(Swing/AWT/Console)
【讨论】:
你在使用 JFrame 吗?如果是这样,你可以试试这个:
myframe.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(WindowEvent winEvt) {
updateZonas();
db.close();
System.exit(0);
}
});
【讨论】:
System.exit(0); 有必要吗?
将WindowListener 添加到您的 JFrame。它的windowClosing 方法会调用你需要的任何代码,然后是System.exit(0)(或其他一些返回代码)。
【讨论】: