如何重用我的JFrame来一个接一个地显示几个GUI,而不是为每个GUI创建一个新的JFrame?

时间:2011-08-27 11:06:43

标签: java swing user-interface jframe jpanel

我在Netbeans中开发了我的Java代码,现在我想为我的应用程序开发GUI。

应用程序与服务器通信,因此它肯定会有一个登录框架。之后会有一个主框架。从主框架中,用户可以选择去哪里,你可以理解会有很多框架。

我已经开发了一个应用程序版本,其中有很多帧并使用“setVisible()”,但我想要更好看的东西。我想要一个稳定的框架,在里面,更换面板或类似的东西。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

如果您愿意,可以使用JInternalFrames,或者只使用带有CardLayout的主面板,并根据单击的菜单项或选定的JTree节点显示相应的卡(在Windows资源管理器和类似应用程序中完成)

使用Swing tutorial开始使用。

答案 1 :(得分:2)

您可以随时将任何Container对象设为JFrame的ContentPane。您还可以从任何其他Container添加和删除Container。如果您希望用户能够随时跳转到十几个面板中的任何一个,CardLayout(如另一个答案所示)很容易成为最佳路线。但是,如果您打算沿着一个有点受控制的路径引导用户,则可以从登录JPanel开始。完成后,您可以创建下一个面板(JPanel或其他),添加它,并处理第一个面板。依此类推,直到用户退出。

如果除了两个面板和父容器(JFrame或后代)之外,从一个面板到另一个面板的转换不会影响程序中的任何其他面板,这可能是要走的路。如果程序中的许多其他地方需要知道更改,您可能需要更集中的机制,可能使用CardLayout。