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

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

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

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

那么,拜托,你会建议什么?

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