我有问题想知道如何在一个子类中启动的窗口关闭后打开另一个窗口。以下是我试图使用的笨拙代码,但它会停止子类窗口的可见设置。可能是由于它位于操作事件内部或者它会阻止主线程。
tutorial = new tutorialWindow();
this.setVisible(false);
tutorial.setLocationRelativeTo(null);
tutorial.setVisible(true);
tutorial.setCurrentUser(users.getCurrentUser());
while(tutorial.isOpen() == true ) {
}
this.setVisible(true);
users.updateUser(tutorial.getCurrentUser());
我的想法是它会被卡在代码段中,直到其他窗口关闭并且教程窗口由于打破while循环而设置为false时再次出现。
我相信这只是使用正确的线程,或者可能是使用各种notify方法的问题,但是现在我不确定如何做到这一点。
while(true)
循环可能会阻塞您的EDT-事件分派线程。看起来Francisco的答案是正确的选择 :-) 给那个答案点赞+1 - nIcE cOw