![](/img/trans.png)
[英]How to close window and open a new one on button press in Java Swing
[英]How to open a new Window after y close a first one?
我正在用这个程序在这个程序中工作,要求用户输入不同类型的数据,但是每种数据类型都取决于先前的数据。 因此,我创建了三个框架,在其中放置了第一个测验,现在我想要的是打开一个新窗口,当用户按下按钮(下一步)时,该按钮同时关闭第一个。 到目前为止,我尝试过的是在用户按下该按钮时更改一个布尔变量(下一步),但是,我不知道如何从新类中引用该最后一个变量。 我将麻烦放在上下文中,因为可能您可以给我一种更好的方法来解决此问题。
打开和关闭窗口并不复杂,仅涉及创建窗口实例(例如JFrame或JDialog)并在其上调用setVisible(true)
或setVisible(false)
。 但是,话虽如此,您在用户随意扔窗户的地方使用了多少种商业应用程序? 很少,因为这是用户界面的噩梦。 取而代之的是,请用户帮忙,并使用CardLayout交换视图;对于偶尔需要模态获取信息的实例,请使用模态对话框,例如将JDialog设置为模态或JOptionPane。
我认为您可以通过在(Next)按钮的ActionListener方法中键入以下行来做到这一点:
dispose();
NewJFrame n = NweJFrame();
n.setVisible(true);
该行dispose();
将关闭您先前的窗口,而您的另一个新窗口(假设名为NewJFrame)将被这两行打开
NewJFrame n = NweJFrame();
n.setVisible(true);
但是在此之前,您必须像在上一个窗口中那样编写NewJFrame的代码。
这段代码仅成功了一半。
Form2 f2 = new Form2();
if (f2 is Form2)
{
f2.Show();
this.Close();
}
else
{
Form1 f1 = new Form1();
f1.Show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.