从一个JFrame移动到另一个JFrame

时间:2012-07-01 10:21:01

标签: java swing netbeans jframe

在Netbeans的一个包中我创建了两个JFrame Forms,第一个是Login,第二个是mainProgram,在成功登录后,我使用以下方式“关闭”Login框架并打开主程序框架。 / p>

mainProgram m=new mainProgram();
m.setVisible(true);
setVisible(false); //to hide the log in frame

这是正确的方法吗?如果这两个分开的类被隐藏而不是被关闭,这不是错的吗?这是一个过程还是两个不同的过程?如果有更好的方式那么它是什么?

感谢..

4 个答案:

答案 0 :(得分:3)

  

这是正确的方法吗?

是的,这应该没问题。

  如果隐藏这两个分隔的类而不是

,那不是错误的   被关闭了?

理想的是处理您未使用的表格(例如不再需要时的登录表格)

  

是这1个过程还是2个不同的过程?

这些将在同一个过程中运行

答案 1 :(得分:3)

  

在Netbeans的一个包中我创建了2个JFrame Forms,第一个是Login,第二个是mainProgram,在成功登录后,我使用以下方式“关闭”Login框架并打开主程序框架。 / p>

使用CardLayout,正确登录后,您可以将GUI切换到下一张卡和/或更改屏幕上的JFrame Dimmnsion,

答案 2 :(得分:1)

在我看来,更正确的方法是使用另一个类,如Launcher,它将具有入口点(main方法)。 将登录窗口设置为模态JDialog,并将DISPOSE_ON_CLOSE设置为default close operation的值。对话框类应包含一个通知用户真正登录的方法。登录对话框关闭后,显示主框架

loginDialog.setVisible(true);
if (loginDialog.isLoggedIn())
    mainFrame.setVisible(true);

答案 3 :(得分:1)

试试这个......

  1. 您用来隐藏和取消隐藏的方法很好,但如果使用dispose 更好

  2. 尝试在管理这些JFrame的类上应用 Singleton模式

  3. 是的,他们都将在相同的流程