打开一个新的JFrame
我有一个主JFrame,其中包含各种面板,用于不同的function,人们可以计算其中的内容。 当用户点击第一个计算按钮并作为输出窗口时,我想打开一个新的JFrame(如果您熟悉它们,则可以使用Simlar到SPSS输出窗口)。
New JFrame将完全独立,并将拥有自己的菜单栏…简单的JDialog不是这里的方式。
- 无法抗拒,简单不同意答案
JFrame frame = new JFrame(
); 和frame.setVisible(true);
当用户点击第一个计算按钮并作为输出窗口时,我想打开一个新的JFrame(如果您熟悉它们,则可以使用Simlar到SPSS输出窗口)。
-
不要这样做,只创建两个JFrame ,重用第二个。
JFrame
使用getContentPane.removeAll()
,来自JButton
其他操作 -
那么所有生命周期都只会是
setVisible(true)
/setVisible(false)
-
将
DefaultCloseOperations
更改为HIDE_ON_CLOSE
New JFrame将完全独立,并拥有自己的菜单栏。 一个简单的JDialog不是这里的方式。
-
JDialog
什么问题,Toolbar
只有一个按钮与JFrame
三个按钮相比,简单不同意,
输出窗口(如果您熟悉它们,则为Simlar到SPSS输出窗口)。
- 使用
SwingWorker
或Runnable#Thread
SwingWorker
(必需包装到invokeLater
)获取放入JDialog的JComponents的值,如果所有更改都完成,则调用JDialog.setVisible(true)
包装到invokeLater()
JFrame newFrame = new JFrame(); newFrame.setVisible(true);
切勿在Swing应用程序中使用多个JFrame
。 使用JDialog
代替额外的窗口。
请参阅使用多个JFrame,好/坏练习? 。
我可能会误解你的问题但是
JFrame frame = new JFrame(); frame.setVisible(true);