[英]How to Open a New Window
我有这样的课:
public class A {
public static void main() {
B f1 = new B();
f1.setVisible(true);
}
class B extends JFrame {
public B() {
JButton btn = new JButton("click me");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
C f2 = new C();
f2.setVisible(true);
}
});
add(btn);
}
}
class C extends JFrame {
public C() {
//whatever here
}
}
}
当我第一次运行此Java代码时,窗口X包含一个“单击我”按钮。 单击它后,将弹出另一个新窗口Y。 但是问题在于,当我关闭新窗口Y时,旧窗口X会与Y一起自动关闭。 (即它们同时关闭)
我想做的是,当我关闭Y后,X会停留在那儿而不要关闭。 怎么做?
最简单的方法是将this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE)放在第二个窗口构造函数中。
其他方式: http : //www.leepoint.net/notes-java/GUI/containers/10windows/12frameclose.html
您将更改setDefaultCloseOperation()
方法的参数,该方法定义单击关闭按钮时发生的情况。 在这种情况下,您将使用DISPOSE_ON_CLOSE
作为参数。 这两个框架都被丢弃的原因大概是因为您将参数设置为EXIT_ON_CLOSE
(如果未明确设置,则为您完成;这是所有框架的默认关闭行为),这终止了整个过程 -这包括所有打开的窗口和框架。 如果您需要进一步的帮助,请询问。 :)
Y框架有哪些DefaultCloseOperation? 它可能是EXIT_ON_CLOSE,因此X和Y一起关闭。将其更改为DISPOSE_ON_CLOSE或保留默认值。 它应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.