2012-03-28 109 views
3

我有一个关于构建GUI应用程序的问题。我觉得这个问题的标题不是很准确,但我想不出一个更好的问题。如何从登录屏幕进入下一个屏幕? JPanel,JFrame?

构建应用程序的正确方法是什么?我应该只创建一个JFrame,然后根据需要更改该JFrame中的面板?或者,我应该总是创建新的JFrame,并在从一个事物移动到另一个事物时摆脱旧的JFrame?

例如,我有JFrame包含一个文本字段和JLabels很少的JPanel。用户输入用户名和密码,点击登录按钮继续。应该出现一个全新的JFrame,还是应该创建一个新的JPanel,而使用旧的JFrame?

+0

看看CardLayout。 – 2012-03-28 15:22:45

+0

CardLayout看起来不错。感谢您的答案! – Zavior 2012-03-28 15:28:11

+0

特别感谢HFOE关于如何使用cardlayout的精彩帖子! – Zavior 2012-03-28 22:39:29

回答

4

取决于,但如果您可以重复使用相同的窗口,通常情况会更好。通常,您可能需要使用JDialog/JOptionPane来处理登录。对话窗口都意味着要更多的可支配

+0

+1使用JDialogs或JPanels – Qwerky 2012-03-28 15:17:57

4

另一种方法是使用CardLayout,如果autentification通过,则与JMenuItems访问另一个卡显示JMenuBar

1

我recomendation是使用1周的JFrame与JDesktopPane中作为你的应用的“基础”。

然后,您可以从JDesktopPane弹出任何对话框或内部框架。即使您不使用内部框架,这也可以工作。

所以,在回答你的问题,我会先建1周的JFrame用的JMenuBar,JToolBar中和的JDesktopPane。然后,最重要的是,我会打开一个带有日志字段和闪屏的JDialog。如果它记录正常,则关闭对话框并启用菜单栏和工具栏。从那里你保持打开和关闭任何对话框或内部框架...

希望这可以帮助...