JFrame中关闭事件/setDefaultCloseOperation的使用方法



JFrame中关闭事件/setDefaultCloseOperation的使用方法

一、JFrame中setDefaultCloseOperation的使用方法
public void setDefaultCloseOperation(int operation)
设置用户在此窗体上发起 “close” 时默认执行的操作。必须指定以下选项之一:

* DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
* HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
* DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
* EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

默认情况下,该值被设置为 HIDE_ON_CLOSE。

 

 
二、java中JFrame关闭事件及捕获

1、Swing技巧.1:用最少的代码设置frame的默认关闭事件

设置默认关闭事件

对JFrame,JDialog,JInternalFrame有效

setDefaultCloseOperation(EXIT_ON_CLOSE);


可用参数在javax.swing.WindowConstants内(JFrame,JDialog,JInternalFrame都实现了)

DO_NOTHING_ON_CLOSE = 0;

HIDE_ON_CLOSE = 1;

DISPOSE_ON_CLOSE = 2;

EXIT_ON_CLOSE = 3;

2、使用内部类实现窗体关闭事件的捕获

protected static class CloseHandler extends WindowAdapter{

public void windowClosing(final WindowEvent event){
//要做的動作
System.exit(0);
}

}

在类中用this.addWindowListener(new CloseHandler());实现捕获