Кажется, вам будет намного проще, если вы просто используете модальный JDialog, который вы предоставляете пользователю. Входные данные, которые там необходимы, и JFrame, открывший диалоговое окно, будут продолжены после закрытия диалогового окна. wait () и notify () используются для синхронизации потоков между прочим ...