繁体   English   中英

关闭第一个窗口后如何打开新窗口?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM