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);
        }

       }

    }

原文地址:https://www.cnblogs.com/hebiao/p/9517281.html

时间: 2024-10-10 11:55:56

JFrame Frame 窗口关闭的相关文章

浏览器窗口关闭

[注:以下方法可能不适用移动端.微信] 一般的窗口关闭的JS如下写法: window.close() 但是呢,chrome,firefox等中有时候会不起作用. 改为下面的写法: window.open("about:blank","_self").close() 或者 window.open("","_self").close() 如果是frame的时候如下写法: 一般:window.top.close() 改善:windo

wxWidgets源码分析(6) - 窗口关闭过程

目录 窗口关闭过程 调用流程 关闭文档 删除视图 删除文档对象 关闭Frame App清理 多文档窗口的关闭 窗口的正式删除 窗口关闭过程总结 如何手工删除view 窗口关闭过程 调用流程 用户点击窗口的关闭按钮后,Win32系统会向当前的Frame对象发送WM_CLOSE消息,此时会进入到Frame的wxFrame::MSWWindowProc函数进行处理: WXLRESULT wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WX

自己收藏-javascript用window.open的子窗口关闭自己并且刷新父窗口

function closeMeAndReloadParent() { opener.location.reload(); window.close(); } 一种在父窗口中得知window.open()出的子窗口关闭事件的方法 <HTML><BODY><P> </P><form name=fm_Info><input type=text name=txtValue></form><script language=j

分享到微博代码,添加分享窗口关闭回调

<html><head> <title> 分享到微博代码,添加窗口关闭回调 </title></head><body><div id="click">分享到微博</div><script> var shareWindow;//分享窗口 document.getElementById("click").onclick = function () { var ur

3.JAVA之GUI编程Frame窗口

Frame 是带有标题和边框的顶层窗口. 创建图形化界面思路: 1.创建frame窗体: 2.对窗体进行基本设置: 比如大小.位置.布局 3.定义组件: 4.将组件通过add方法添加到窗体中: 5.让窗体显示,通过setVisible(ture). ****************************** 新建一个class类,名称为:studyframe 功能实现如下几点: 1.建立一个窗口: 2.窗口有标题: 3.窗口大小设置: 4.窗口位置设置: 5.窗口可见. 代码如下: impor

js父窗口关闭时,子窗口随之关闭

最近,遇到一个权限管理的系统.由于权限管理的系统和本来的系统风格不一致,所有新打开一个窗口.问题就来了,admin注销之后,权限管理的窗口没有关闭.其他普通用户登录以后,仍然可以操作权限管理的窗口. 问题简化:admin注销的时候,或者main.html关闭的时候,打开的所有新窗口一起关闭.问题就解决了 直接看代码吧: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w

DEV中dx:ASPxPopupControl 控件的使用(在窗口关闭或隐藏时,清楚文本框中的内容)

//在窗口关闭或隐藏时,清楚文本框中的内容(核心代码) function(s, e) { ASPxClientEdit.ClearGroup('entryGroup'); } <asp:Content ID="Content1" ContentPlaceHolderID="ContentHolder" runat="Server"> <script type="text/javascript"> //

【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】

本来想用委托实现的.但是又觉得没有必要. 方法如下: public MainWindow() { InitializeComponent(); this.Closing += MainWindow_Closing; } private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { foreach (Window w in this.OwnedWindows) { if (w!=n

pyside窗口关闭触发事件

窗口关闭事件本质上是重写了类内部的closeEvent方法,可以通过重写这个类去实现其他你想要的关闭事件. 下面的例子实现了一个简单的窗口,并为窗口添加了关闭时弹出提示框的功能. 1 import sys 2 from PySide import QtGui 3 4 5 class Message(QtGui.QWidget): 6 7 def __init__(self): 8 # 如果希望窗口内嵌于其他部件,可添加parent参数 9 super(Message, self).__init_