在编写Java GUI程序时,我们通常需要提供一个关闭窗口的选项。不仅如此,我们还需要确保程序能够正常结束,以避免出现资源泄漏等问题。本文将介绍如何在Java中优雅地关闭窗口并使程序正常结束。
步骤1:创建关闭窗口事件
为了能够处理关闭窗口事件,我们需要添加WindowListener接口。对于普通的窗口事件,我们可以使用WindowAdapter接口简化代码。下面的代码演示了如何创建一个WindowAdapter并覆盖窗口关闭事件:
JFrame frame = new JFrame("My Frame");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt)
// 处理关闭窗口事件
步骤2:释放资源并退出程序
在处理关闭窗口事件时,我们通常需要释放在程序运行时所占用的资源,并退出程序。这可以通过以下代码实现:
JFrame frame = new JFrame("My Frame");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
// 释放资源
// ...
// 退出程序
System.exit(0);
在这个例子中,我们使用了System.exit()方法来中止程序。该方法接受一个整数参数,表示退出码。通常情况下,非零值表示程序异常终止,而零值表示程序正常结束。
步骤3:注册关闭事件
最后,我们需要将WindowListener注册到我们的窗口中。以下代码演示了如何将WindowAdapter注册到JFrame中:
JFrame frame = new JFrame("My Frame");
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
// 释放资源
// ...
// 退出程序
System.exit(0);
frame.pack();
frame.setVisible(true);