java多窗口问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 02:24:22
package tuxing;
import javax.swing.*;
public class LayoutFrame extends JFrame
{
public LayoutFrame ()
{
super("框架窗口");
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[])
{
LayoutFrame test1 = new LayoutFrame();
test1.setVisible(true);

LayoutFrame test2 = new LayoutFrame();
test2.setVisible(true);
}
}

以上程序产生两个窗口,我关掉一个就整个程序退出了,为什么?还有这两个窗口是并行的吗?

class LayoutFrame extends JFrame {

public LayoutFrame() {
super("框架窗口");
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
}

public static void main(String args[]) {
LayoutFrame test1 = new LayoutFrame();
test1.setVisible(true);

LayoutFrame test2 = new LayoutFrame();
test2.setVisible(true);
}
}

这样就好了,setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 这句在关闭的时候会退出虚拟机的。

public void setDefaultCloseOperation(int operation)设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。
DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。
EXIT_ON_CLOSE(在 JFrame 中定义):使用 Sy