Я согласен, что модальный диалог был бы лучшим вариантом здесь, но если бы я ответил на этот вопрос в его более общей форме, скажем:
Как заставить один JFrame ждать другого JFrame?
Я бы сказал, что проще всего добиться этого, зарегистрировав и запустив прослушиватели событий.
- В вашем «дочернем» фрейме зарегистрируйте «основной» фрейм как прослушиватель событий.
- В вашем "основном" кадре,
- реализовать ваш выбор слушателя, например,
ActionListener
- в методе, вызываемом слушателем, например,
actionPerformed
, закодируйте логику, которая обрабатывает то, что происходит при каждом из действий, на которые он может реагировать в «дочернем» фрейме.
Можно легко реализовать это в любом количестве ситуаций, включая сценарий входа в систему, описанный в вопросе.