【问题标题】:JFrame changing screensJFrame 切换画面
【发布时间】:2013-09-22 08:09:37
【问题描述】:

我想知道如何在 JFrame 中更改屏幕。例如,从起始屏幕更改为不同的屏幕。因此,您在一个屏幕上有各种各样的按钮、标签、树等,当用户单击按钮时,会出现不同的布局。

'setVisible(false) 和 setVisible(true)' 能解决问题吗?

【问题讨论】:

  • 不明白你想要实现什么,但是你应该使用容器作为JPanel 然后你可以使用LayoutManager 作为CardLayout 来切换视图。 How to use CardLayout
  • 你可以自助。只需编写代码并运行程序。
  • 如果您不知道方法的作用 1) 阅读 javadoc 2) 试一试...

标签: java swing jframe


【解决方案1】:

你明白了!为每个框架创建单独的 JFrame 实例:

JFrame frame1 = new JFrame();
JFrame frame2 = new JFrame();

//populate your frames with stuff

frame1.setVisible(false);
frame2.setVisible(true);

附带说明,您需要确保在任何辅助框架上使用setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE),以防止您的应用程序在用户关闭辅助框架时终止。

话虽如此,您还可以在同一个 JFrame 中使用多个 JPanel 实例,而不是创建多个 JFrame 实例。这样,您的应用程序的所有操作都将在一个窗口中进行。

我强烈建议您仔细阅读:http://docs.oracle.com/javase/tutorial/uiswing/

【讨论】:

  • 创建多个框架不是一个好主意。见:stackoverflow.com/questions/9554636/…
  • ..这就是我提供替代方案的原因。 :) 但是,在某些情况下,使用多个 JFrame 实例可能是有利的。您应该在您链接的线程上阅读 ryvantage 的答案。 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多