Метод изменения пользовательского интерфейса Java Swing - PullRequest
0 голосов
/ 27 марта 2010

Я бы хотел использовать Swing для программирования простой обучающей игры.

Мне интересно, как лучше переключаться между экранами пользовательского интерфейса?

Например, у меня будет экран для главного меню, а затем, когда пользователь нажимает кнопку на этом экране, я переключаю весь экран на совершенно другой.

Затем произвольные экраны могут быть заменены в любой момент, и все их обработчики событий будут активированы, в то время как обработчики событий неактивного экрана будут деактивированы.

Какой тип компонента / элемента управления Swing я бы использовал для каждого из «экранов». Это вообще выполнимо?

Ответы [ 3 ]

8 голосов
/ 27 марта 2010

Вы можете использовать CardLayout для этой цели.

Каждый «экран» может быть выполнен в виде отдельной панели. Тогда вам понадобится контейнер-панель с макетом карты. И вы добавите все экраны на эту панель. Переключение между картами легко, это продемонстрировано в связанном руководстве.

1 голос
/ 27 марта 2010

Возможно, вам не нужно повторно активировать слушателей (хотя конец бизнес-модели может захотеть проверить состояние). Простые панели переключателей.

1 голос
/ 27 марта 2010

Вы также можете использовать JTabbedPane , чтобы каждый экран был связан с одной кнопкой: -)

...