import java.awt.event.*;
import javax.swing.*;
public class JFrameClose2 {
public static void main(String[] a) {
MyJFrame f = new MyJFrame();
f.setTitle("Closing Frame with Process Window Event");
f.setBounds(100,50,500,300);
f.setVisible(true);
static class MyJFrame extends JFrame {
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
在JFRAME弹出新的FRAME以后,关闭新的FRAME会同时关闭整个应用,遍寻网络之后,找到解决方案:JFRAME默认的关闭事件有三个选项:JFrame.defaultCloseOperation(int option)JFrame.EXIT_ON_CLOSE -- 退出应用.运行applet时不要使用这个选项,因为会导致浏览器崩溃!JFrame.DISPOSE_
在使用Netbeans开发时,创建一个JFrame窗口。调用发现setDefaultCloseOperation一直报错。该方法是jframe执行关闭时的操作。调查原因发现,setDefaultCloseOperation被设置成了EXIT_ON_CLOSE,于是调查setDefaultCloseOperation方法的参数含义如下:
DO_NOTHING_ON_CLOSE:不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作在这里插入代码片
注意:在继承Jframe的过程中,由于工具的快捷功能可以会继承到Frame类,继承到Jframe类打开的窗口默认是可以关闭的,而Frame类打开的窗口点了关闭的没有反应的。
1、关闭子窗口后,父窗口也跟着关闭,子窗口设置为:
setDefaultCloseOption(Jframe.Exit_ON_CLOSE);
2、只关闭子窗口,子窗口设置为:
setDefaultCloseOption(Jframe.DISPOSE_ON_CLOSE);
3、dispose()方法,如果是继承的JFr.
Java JFrame窗口关闭方法总结
之前写窗口时每次都是直接copy关闭的方法,没有想过其它的,最近写的窗口比较多,就总结了一些窗口关闭的方法有哪些,方便以后自己查阅。
public void setDefaultCloseOperation(int operation):
默认关闭状态:JFrame.class中: private int d
setDefaultCloseOperation();是用来设定窗口被关闭时(比如点击了右上角的”x”)的行为。参数有:
DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体占有的其他资源。在窗口被关闭的时候会dispose这个窗口。
EXIT_ON_CLOSE:结束窗口所在的应用程序。在窗口被关闭的时候会退出JVM。
如果程序没有其他线程在运行,当所有窗口都被dispose后,JVM...
这个方法是JFrame类的一个方法,EXIT_ON_CLOSE是JFrame的一个静态常量。
该方法的翻译大概是“设置默认的关闭操作,参数”在关闭动作时退出“。
一般在Java图形程序编写过程中经常会用到这个方法,不难理解这个方法的用途就是在一个JFrame执行关闭操作时,将退出程序。
如果在代码里没加这个方法,那么在点击框架的”叉叉“退出框架后,程序仍然没有退出,只是JFrame被关闭了。
frame.setDefaultCloseOperation()是设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 Win
用 jProfiler 分析 Java swing 程序中的内存泄漏问题时, 我发现内存中 JFrame 实例的数量一直在增加。
各个 frame 被打开(opened),然后被关闭(closed)。
通过 jProfiler, 并查看GC Root时, 只找到一项: ‘JNI Global reference’。
Java JFrame窗口关闭方法总结
public void setDefaultCloseOperation(int operation):
默认关闭状态:JFrame.class中: private int defaultCloseOperation =HIDE_ON_CLOSE;
因此,默认情况下,关闭窗口,只隐藏界面,不释放占用的内存。
点击窗口右上角关闭,四种关闭方式:
1.this.setDefaultCloseOperation(0);// WindowConstants
对Swing中关闭窗口参数的理解API对参数的理解HIDE_ON_CLOSEDO_NOTHING_ON_CLOSEDISPOSE_ON_CLOSEEXIT_ON_CLOSE
Swing中关闭窗口的方法是javax.swing.JFrame.setDefaultCloseOperation(int operation)
即:设置JFrame 框架的默认关闭操作
public void set...
要使JFrame窗口自动关闭,可以使用`setDefaultCloseOperation`方法并将其设置为`JFrame.EXIT_ON_CLOSE`。这将在用户关闭窗口时自动终止应用程序。以下是示例代码:
import javax.swing.JFrame;
public class MyFrame extends JFrame {
public MyFrame() {
setTitle("My Frame");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
public static void main(String[] args) {
new MyFrame();
在这个例子中,`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`设置了窗口关闭时退出应用程序。这是因为`JFrame.EXIT_ON_CLOSE`是一个静态常量,它指示窗口关闭时应该终止应用程序。