如何在JFrames中使用setVisible?

在我的程序中,我有两个JFrame实例。 当我单击next按钮时,我想显示下一帧并隐藏当前帧。 所以我使用this.setVisible(false)和new Next().setVisible(true) 。 但是在Next窗口中,如果单击back按钮,我想将前一帧设置为再次可见,并且必须结束下一帧(这意味着必须退出)。

有没有特殊方法可以做到这一点? 我该怎么做?

考虑使用CardLayout而不是寻找有多少JFrame 。 然后..

  • 只需要一个JFrame
  • 任何Next / Back动作都只会在卡之间切换

这个论坛有很多例子 – 例如这里显示的。

这是一个奇怪而古怪的GUI。 我建议改为为主GUI运行JFrame ,当用户想要搜索时,弹出一个JOptionPane (或模态JDialog )来接受要搜索的细节。 这将不具有上述效果,但将遵循最终用户的“最小惊喜路径”。

如果你想销毁释放所有相关资源的JFrame,你可以在其上调用dispose()方法。

您可以将JFrames放在列表数据结构上,并根据您显示的窗口保持对当前位置的引用。 通过这种方式,移动到下一个和上一个将很容易。 但请注意,添加到列表中的每个帧都将使用内存,并且在将其放入列表时将具有其状态。

如果您正在尝试创建类似UI的向导,则应在此处查找Sun(oracle)教程 。

在next()窗口中创建主窗口的实例..并使用您选择隐藏主窗口的相同方法,例如,如果您的主窗口被命名为gui,那么我们要做的就是。

 gui obj = new gui(); 

如果你现在点击后退按钮也不是这些

 this.setVisibility(false); obj.setVisibility(true); 

这就是你所需要的一切。

祝你好运。