JFrame是Frame的子类,即JFrame继承自Frame。
JFrame是javax.swing.JFrame的类,Frame是java.awt.Frame的类。
类似的还有JButton、Button,JComboBox,ComboBox等,总的来说swing是awt的升级,带J的是不带J的升级版。
1.JFrame关闭方式:
设置用户在此窗体上发起 "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 。更改此属性的值将导致激发属性更改事件,其属性名称为 "defaultCloseOperation"。
代码示例:
package ss;
import javax.swing.JFrame;
public class JFrameClose {
private JFrame jf;
public static void main(String[] args) {
// TODO Auto-generated method stub
new JFrameClose();
}
public JFrameClose(){
jf=new JFrame();
jf.setBounds(100, 100, 200, 200);
// jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//不执行任何操作
// jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//隐藏并释放内存,并不一定结束整个应用程序
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出应用程序
jf.setVisible(true);
}
}
View Code
2.Frame关闭方式:
通过添加监听的方式
代码示例:
package tst;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame f = new JFrame();
f.setTitle("Closing Frame with Window Listener");
f.setBounds(100,50,500,300);
f.addWindowListener(new MyWindowListener());
f.setVisible(true);
}
static class MyWindowListener extends WindowAdapter {
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
}
}
View Code