9

我有一个主 JFrame,其中包含用于不同功能的各种面板,人们可以在其中计算事物。我想在用户点击第一个计算按钮时打开一个新的 JFrame 并用作输出窗口(如果您熟悉它们,则类似于 SPSS 输出窗口)。

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

4

5 回答 5

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

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

  • 不要那样做,只创建两个 JFrames,重用第二个。JFrame通过使用getContentPane.removeAll(), 来执行其他操作JButton

  • 那么所有的生命周期将只有大约setVisible(true)/setVisible(false)

  • 更改DefaultCloseOperationsHIDE_ON_CLOSE

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

  • 有什么问题,与三个按钮相比JDialog,只有一个按钮,简单不同意,ToolbarJFrame

输出窗口(如果您熟悉它们,则类似于 SPSS 输出窗口)。

  • 如果所有更改都已完成,则使用SwingWorkeror Runnable#Thread(需要 wrap into )invokeLater获取放置到 JDialog 中的 JComponents 的值JDialog.setVisible(true)invokeLater()
于 2013-03-01T22:29:10.510 回答
10
JFrame newFrame = new JFrame();
newFrame.setVisible(true);
于 2013-03-01T21:48:04.043 回答
5

JFrame切勿在 Swing 应用程序中使用多个。改为用于JDialog额外的窗口。

请参阅使用多个 JFrame,好/坏做法?.

于 2013-03-01T22:01:03.963 回答
4

我可能误解了你的问题,但是

JFrame frame = new JFrame();
frame.setVisible(true);
于 2013-03-01T21:50:26.670 回答
0

我用了代码JFrame frame = new JFrame(); frame.setVisible(true);。这段代码只是做空窗口。

于 2019-11-25T10:05:57.327 回答