当我启动程序时,我创建了MainFrame。当我点击“搜索”按钮时,我会显示另一个JFrame。 如果它在搜索上获得结果,则目标是填充MainFrame中的信息。
一切正常。 但是为了能够显示信息,我必须重新创建MainFrame。 这意味着两个MainFrame保持开放状态。
如何隐藏第一个?
设置我只有MainFrame和一个带有搜索表单的对话框。
当我点击搜索对话框上的确定按钮时,我有一些信息。
在MainFrame类中我知道信息就在那里。
我在文本字段等上有settext ...在最后一行我有“setvisible(true)”。
但他们仍然是空白!为什么??
任何人都可以在这里发布一个例子,怎么做?请
我只是搜索所有选项,但我无法解决。
答案 0 :(得分:7)
Swing应用程序最多应包含一个JFrame
。如果您需要显示多个" windows",则可以使用多个JDialog
并使用dispose()
隐藏对话框。
或者,您可以使用CardLayout
作为布局管理器,而不是使用太多对话框。
请参阅:
答案 1 :(得分:0)
使用JFrame.setVisible(false)
隐藏,JFrame.setVisible(true)
重新显示。
这适用于任何JComponent,而不仅仅是JFrame。
答案 2 :(得分:0)
您可以通过调用方法隐藏JFrame:
setVisible(false);
但是,您可以考虑使用JDialogs,因为您可以选择创建模式对话框,这意味着用户只能在打开时与“搜索”对话框进行交互。