Java 什么';setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)的点是什么;?
我被教导将此添加到jframe的run方法中,但与不使用它相比,它不会改变任何东西 我想知道的是,如果你不考虑这个会发生什么 谢谢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);
@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())