Несколько «экранов» - PullRequest
       14

Несколько «экранов»

0 голосов
/ 29 февраля 2012

Я довольно много работал над игрой, не слишком прикольный, и мне было интересно, каким будет лучший способ сделать экран меню.В настоящее время я использую один JPanel в качестве основы для «рисования».Мне было интересно, как лучше всего реализовать экраны меню и т. Д.

То, что я до сих пор думал:

a) Позаботьтесь о текущем JPanel об экране меню.

б) Сделайте для них новые JPanel с и поменяйте их на следующий;пример: если я нажму на новую опцию игры, то переключусь на новую JPanel, которая содержит настройки игры.

Дополнительный вопрос:

Лучше ли нам Canvas или ещедругой компонент по сравнению с JPanel, учитывая возможность воспроизведения на Апплете и Приложении, было проблемой?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 29 февраля 2012

Рекомендации:

  • Если это приложение Swing, то непременно придерживайтесь таких компонентов Swing, как JPanels.
  • Ваши пользователи, вероятно, предпочтут обменять JPanels, и еслиесли вы решите пойти по этому пути, CardLayout сделает это легко.
  • Возможно, вы захотите поменять местами JPanels, если представленные в них представления значительно отличаются.Если это только вопрос изменения текста, то вы можете обойтись без изменения текста нескольких JLabels вместо замены.
2 голосов
/ 29 февраля 2012

Исходя из вашего вопроса, я предполагаю, что ваш игровой вид отображается полностью с Graphics внутри paintComponent(), и в вашем основном JPanel уже нет никаких других компонентов.В этой ситуации, вероятно, будет проще переключить код, который вы вызываете, вместо того, чтобы использовать другой код для рисования в совершенно другом классе панели.

Редактировать:

Простоуточнить: Основная причина, по которой вы хотите поменять местами JPanel s, заключается в том, что на исходном JPanel было установлено много компонентов, прослушивателей и т. д., которые необходимо поменять местами, чтобы переключить его на отображение меню.Если экран меню можно нарисовать в тот же Graphics и запустить тот же MouseListener, я бы использовал только одну панель.

1 голос
/ 29 февраля 2012

Лучше ли нам Canvas или какой-либо другой компонент по сравнению с JPanel, учитывая возможность воспроизведения на Апплете и Приложении?

Не используйте Canvas, если остальная часть проекта не использует AWT. Если это Swing, а компонент содержит только настраиваемое рисование, используйте JComponent. Если Swing и область имеют компоненты, расположенные внутри него, используйте JPanel.

Почему вы сделали различие между апплетом и приложением? Вы случайно не думаете об использовании AWT в апплете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...