如何在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);
这就是你所需要的一切。
祝你好运。