2013-05-11 2 views
-1

Когда моя программа запускается, открывается окно (aka «StartWindow»), которое имеет 3 варианта: Новая игра/Загрузка игры/Выход. Когда нажата кнопка «Новая игра или загрузка игры» (и после ввода), откроется окно игры (aka «GameWindow»), чтобы пользователь мог играть.Открыть новое окно и закрыть родителя

Когда открывается GameWindow, я хотел бы, чтобы StartWindow закрылся. И когда GameWindow закрывается, StartWindow откроется, пока не будет нажата фактическая кнопка «EXIT».

Есть ли способ сделать это? Прямо сейчас, единственный способ добиться чего-то похожего на это - иметь логическое имя «gameRunning». Если это так, кнопки при нажатии кнопки StartWindow не будут действовать при нажатии. Противоположно, когда false.

Для примера, предположим, что каждое окно имеет 3 кнопки, текстовое поле и ничего больше.

+0

Я бы сделал StartWindow JDialog, который изначально открывается невидимым JFrame, GameWindow. Затем я повторно отобразил его по мере необходимости. –

+0

См. [Использование нескольких JFrames, хорошая/плохая практика?] (Http://stackoverflow.com/a/9554657/418556) –

ответ

2

Используйте метод setVisible (false) для родителя перед открытием любого дочернего окна. Когда дочернее окно закрывается, вызовите setVisible (true). Это решит вашу проблему.

+0

Спасибо! Я соглашусь как можно скорее. – Aaron

Смежные вопросы