JFrame Frame 窗口关闭
Posted hebiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JFrame Frame 窗口关闭相关的知识,希望对你有一定的参考价值。
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"。
代码示例:
1 package ss; 2 3 import javax.swing.JFrame; 4 5 public class JFrameClose { 6 7 private JFrame jf; 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 new JFrameClose(); 11 } 12 13 public JFrameClose(){ 14 jf=new JFrame(); 15 jf.setBounds(100, 100, 200, 200); 16 // jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//不执行任何操作 17 // jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//隐藏并释放内存,并不一定结束整个应用程序 18 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出应用程序 19 jf.setVisible(true); 20 21 22 } 23 24 }
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); } } }
以上是关于JFrame Frame 窗口关闭的主要内容,如果未能解决你的问题,请参考以下文章