4

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

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

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

谢谢..

4

4 回答 4

4

这是正确的方法吗?

是的,这应该没问题。

如果这两个分离的类被隐藏而不是被关闭,这不是错的吗?

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

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

这些将在同一进程上运行

于 2012-07-01T10:33:30.580 回答
4

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

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

于 2012-07-01T10:33:38.267 回答
1

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

loginDialog.setVisible(true);
if (loginDialog.isLoggedIn())
    mainFrame.setVisible(true);
于 2012-07-01T10:37:00.270 回答
1

尝试这个...

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

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

  3. 是的,他们都将在同一个 Process上。

于 2012-07-01T11:17:05.317 回答