如何在继续之前等待JFrame关闭?

时间:2012-09-09 01:04:30

标签: java swing user-interface jdialog cardlayout

我的程序包含3个主要“部分”。主要功能,登录表格和App表格。主要功能应该是这样的:打开登录表单,等待它关闭,然后打开App表单。我不能让等待的部分工作,或者更确切地说,我不知道如何去做这件事。

有人告诉我使用JDialog并使用setModal(true),但是使用这种方法,登录表单不会出现在任务栏上,这在我看来很糟糕。

我考虑的另一件事是在关闭后从Login内部打开应用程序,但这感觉就像糟糕的设计,因为这会使登录表单不可重用。

那么,请问,你会建议什么?

1 个答案:

答案 0 :(得分:6)

  • 为什么登录必须出现在任务栏上,因为主应用程序将在那里,并且您不希望单个程序有多个任务栏项。您最好的选择可能是使用模态JDialog。
  • 另一个选择是使用CardLayout来交换“视图”。
  • 第三个选项是使用JFrame,如果必须但是附加一个监听器,我相信它是一个WindowListener,以响应它的关闭事件。
  • 无论您走哪条路线,您的登录gui都应该是JPanel,这样您就可以将它放在任何地方,然后再改变主意。