打开一个新的JFrame

时间:2013-03-01 21:46:34

标签: java swing jframe

我有一个主JFrame,其中包含各种面板,用于不同的功能,人们可以计算其中的内容。当用户点击第一个计算按钮并作为输出窗口时,我想打开一个新的JFrame(如果你熟悉它们,可以用Simlar到SPSS输出窗口)。

New JFrame将是完全独立的,并且将拥有自己的菜单栏...简单的JDialog不是这里的方式。

5 个答案:

答案 0 :(得分:10)

JFrame newFrame = new JFrame();
newFrame.setVisible(true);

答案 1 :(得分:9)

  • 无法抗拒,简单不同意答案JFrame frame = new JFrame();和frame.setVisible(true);
  

我想在用户点击第一个计算时打开一个新的JFrame   按钮并用作输出窗口(Simlar到SPSS输出窗口,如果   你熟悉它们。)

  • don't do that, create only two JFrames,重复使用第二名。使用JFrame的{​​{1}}来自getContentPane.removeAll()的其他操作

  • 然后所有生命周期仅为JButton / setVisible(true)

  • setVisible(false)更改为DefaultCloseOperations

  

New JFrame将完全独立,并拥有自己的菜单   酒吧。一个简单的JDialog不是这里的方式。

  • HIDE_ON_CLOSE出了什么问题,JDialog中只有一个按钮与Toolbar中的三个按钮相比,简单不同意,
  

输出窗口(如果您熟悉,则为Simlar到SPSS输出窗口   它们)。

  • 使用JFrameSwingWorker(必需包装到Runnable#Thread)获取放入JDialog的JComponents的值,如果所有更改都已完成,则调用invokeLater包含在{{1}中}}

答案 2 :(得分:5)

永远不要在Swing应用程序中使用多个JFrame。使用JDialog代替额外的窗口。

请参阅The Use of Multiple JFrames, Good/Bad Practice?

答案 3 :(得分:4)

我可能会误解你的问题,但

JFrame frame = new JFrame();
frame.setVisible(true);

答案 4 :(得分:0)

我使用了代码JFrame frame = new JFrame(); frame.setVisible(true);。此代码块只是清空窗口。