Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JFrames中使用setVisible?_Java_Swing_Jframe - Fatal编程技术网

Java 如何在JFrames中使用setVisible?

Java 如何在JFrames中使用setVisible?,java,swing,jframe,Java,Swing,Jframe,在我的程序中,我有两个JFrame实例。当我点击next按钮时,我想显示下一帧并隐藏当前帧。因此我使用this.setVisible(false)和newNext().setVisible(true)。但在Next窗口中,如果我单击back按钮,我想将上一帧设置为再次可见,下一帧必须结束(这意味着必须退出) 有什么特殊的方法可以做到这一点吗?我怎么做 如果要销毁JFrame并释放所有相关资源,则应调用其上的方法。您可以将JFrames放在列表数据结构上,并根据显示的窗口保留对当前位置的引用。这样

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


有什么特殊的方法可以做到这一点吗?我怎么做

如果要销毁JFrame并释放所有相关资源,则应调用其上的方法。

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

如果您试图创建一个类似向导的UI,您应该查找。

考虑使用而不是查找有多少。然后

  • 只需要一个JFrame
  • 任何下一步/后退操作将仅在卡之间切换
有很多-例如,如图所示


这是一个古怪的图形用户界面。我建议对主GUI运行
JFrame
,当用户想要搜索时,弹出
JOptionPane
(或modal
JDialog
)以接受要搜索的详细信息。这将不会产生上述效果,但将遵循最终用户的“最小惊喜路径”。

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

gui obj = new gui();
若你们现在点击“后退”按钮,你们也可以这样做

this.setVisibility(false);
obj.setVisibility(true);
这就是你所需要的


祝你好运。

为什么不在一个框架中切换面板,例如使用
CardLayout
?+1,这里一定要考虑CardLayout管理器。不,我正在创建搜索框。在主菜单(框架),若我点击搜索按钮,它必须打开搜索框架,我想隐藏主菜单。但如果我退出搜索。我必须再次显示主菜单。我不能破坏主菜单对象。因为保存了一些信息。我想调用前一个对象。这意味着我想再次将其可见性设置为真。@JKAUSHALYA,它不会破坏组件,只是将其隐藏。为了显示前面的组件,需要简单调用
show(…)
。其实没那么难。这个布局管理器正是您想要的。也许您应该阅读@mKorbel链接到您的教程。请参阅链接(特定)示例。否,我正在创建搜索框。在主菜单(框架),若我点击搜索按钮,它必须打开搜索框架,我想隐藏主菜单。但如果我退出搜索。我必须再次显示主菜单。我不能破坏主菜单对象。因为保存了一些信息。我想称之为previos对象。这意味着我想再次将其可见性设置为真。@JKAUSHALYA我不是读心术的人,如果我记得很多次我在基本内容上犯了错误,为了真正的帮助,你必须用可运行的代码编辑你的文章,这表明了你的问题,否则任何事情都只会是对黑暗的射击,像那样应该是正确的答案,我也是+1@mKorbel我也喜欢
CardLayout
解决方案,但因为OP不希望这样。。