Не нужно, чтобы один JFrame создавал и отображал другой JFrame.Вместо этого второе окно должно быть JDialog, либо модальным, если вы хотите, чтобы первое окно было заморожено, пока второе не было обработано, либо немодальным, если иначе.Если модальный, то код первого окна возобновится после удаления JDialog, и поток кода начнется сразу после вызова setVisible(true)
в диалоговом окне.Если он не модальный, вы, вероятно, захотите добавить WindowListener в диалоговое окно.
Например, проверьте мой код здесь , здесь и здесь .