Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)的点是什么;?_Java_Jframe_Window_Dimension - Fatal编程技术网

Java 什么';setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)的点是什么;?

Java 什么';setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)的点是什么;?,java,jframe,window,dimension,Java,Jframe,Window,Dimension,我被教导将此添加到jframe的run方法中,但与不使用它相比,它不会改变任何东西 我想知道的是,如果你不考虑这个会发生什么 谢谢 @Override public void run() { frame = new JFrame(title); frame.setPreferredSize(new Dimension(400, 200)); //frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

我被教导将此添加到jframe的run方法中,但与不使用它相比,它不会改变任何东西

我想知道的是,如果你不考虑这个会发生什么

谢谢

@Override
public void run() {
    frame = new JFrame(title);
    frame.setPreferredSize(new Dimension(400, 200));
    //frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    createComponents(frame.getContentPane());
    frame.pack();
    frame.setVisible(true);
}

应用程序的进程仍将保留在内存中

这来自官方文件:

-关闭时不执行任何操作(在WindowConstants中定义):不执行任何操作;要求程序处理已注册WindowListener对象的windowClosing方法中的操作

-HIDE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener对象后自动隐藏帧

-DISPOSE_ON_CLOSE(在WindowConstants中定义):在调用任何已注册的WindowListener对象后自动隐藏和处置帧


-关闭时退出(在JFrame中定义):使用系统退出方法退出应用程序。仅在应用程序中使用此选项。

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)用于关闭JFrame和Java进程。在不使用setDefaultCloseOperation的情况下,使用JFrame示例程序对其进行测试。通过单击窗口关闭来关闭jframe。检查任务管理器/top命令,您会发现java进程仍在运行

我知道这是一个老问题,但我被教导要做的是在类中创建一个扩展JFrame的内部类

内部类应该扩展WindowAdapter,您应该重写windowClosing方法,我通常只放System.exit(0);在里面

然后在JFrame类的构造函数中,添加以下行: this.addWindowListener(新的MyWindowAdapterClass())