使用许多jFrame

时间:2012-12-26 19:42:58

标签: java swing jframe jdialog cardlayout

当我启动程序时,我创建了MainFrame。当我点击“搜索”按钮时,我会显示另一个JFrame。 如果它在搜索上获得结果,则目标是填充MainFrame中的信息。

一切正常。 但是为了能够显示信息,我必须重新创建MainFrame。 这意味着两个MainFrame保持开放状态。

如何隐藏第一个?


设置我只有MainFrame和一个带有搜索表单的对话框。

当我点击搜索对话框上的确定按钮时,我有一些信息。

在MainFrame类中我知道信息就在那里。

我在文本字段等上有settext ...在最后一行我有“setvisible(true)”。

但他们仍然是空白!为什么??


任何人都可以在这里发布一个例子,怎么做?请

我只是搜索所有选项,但我无法解决。

3 个答案:

答案 0 :(得分:7)

Swing应用程序最多应包含一个JFrame。如果您需要显示多个" windows",则可以使用多个JDialog并使用dispose()隐藏对话框。

或者,您可以使用CardLayout作为布局管理器,而不是使用太多对话框。

请参阅:

答案 1 :(得分:0)

使用JFrame.setVisible(false)隐藏,JFrame.setVisible(true)重新显示。 这适用于任何JComponent,而不仅仅是JFrame。

答案 2 :(得分:0)

您可以通过调用方法隐藏JFrame:

   setVisible(false);

但是,您可以考虑使用JDialogs,因为您可以选择创建模式对话框,这意味着用户只能在打开时与“搜索”对话框进行交互。