如何等待JFrame关闭后再继续进行?

5
我的程序由三个主要的“部分”组成。主函数,登录表单和App表单。主功能应该做一些事情,如:打开登录表单,等待其关闭,然后打开App表单。我无法让等待部分工作,或者说,我不知道如何去处理它。
有人告诉我使用JDialog并使用setModal(true),但是用这种方法,登录表单不会出现在任务栏上,我认为这很糟糕。
我考虑的另一件事是在登录之后从内部打开App,但是那感觉就像是糟糕的设计,因为那会使登录表单不能重复使用。
那么,请问你有什么建议吗?

1
为什么必须要在任务栏上显示登录窗口呢?因为主应用程序已经在那里了,你不想为单个程序添加多个任务栏项。最好的选择是使用模态JDialog窗口。 - Hovercraft Full Of Eels
关闭登录后,我将其丢弃,这样一次只会有一个。 - argoneus
用户可能不会觉得被扔了一堆窗口很“有趣”。看看CardLayout。 - Hovercraft Full Of Eels
你可以先展示主要的GUI界面,但在登录对话框成功完成之前不要让它“激活”。无论如何,由于你有几个可供选择的选项,所以取决于你。 - Hovercraft Full Of Eels
显示剩余4条评论
1个回答

6
  • 为什么登录必须出现在任务栏上,因为主要应用程序将在那里,您不希望为单个程序使用多个任务栏项。您的最佳选择可能是使用模态JDialog。
  • 另一种选择是使用CardLayout来交换“视图”。
  • 第三个选项是如果必须使用JFrame,但附加一个监听器,我相信是WindowListener,以响应其关闭事件。
  • 无论选择哪种方法,您的登录GUI都应该是一个JPanel,这样您就可以将其放置在任何位置,然后稍后更改主意。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接