欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JFrame Frame 窗口关闭

程序员文章站 2022-06-30 20:06:16
JFrame是Frame的子类,即JFrame继承自Frame。 JFrame是javax.swing.JFrame的类,Frame是java.awt.Frame的类。 类似的还有JButton、Button,JComboBox,ComboBox等,总的来说swing是awt的升级,带J的是不带J的 ......

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"。

代码示例:

JFrame Frame 窗口关闭
 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 }
view code

2.frame关闭方式:

通过添加监听的方式

代码示例:

JFrame 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