Создание окон с Java - PullRequest
       3

Создание окон с Java

1 голос
/ 20 июля 2011

;) Я пытаюсь сделать последовательность окон GUI в Java. Во-первых, вопрос по дизайну. Я планирую иметь 8/9 похожих типов окон:

  • приветственное вступление с таймером
  • через несколько секунд после показа выше - окно типа «введите имя», «введите имя»
  • окно вопроса с двумя радиокнопками
  • Окно «Введите свой пароль»
  • окно с простым текстом и кнопкой «Далее» (кроме 1-го, у всех есть)
  • окно с некоторым текстом и затем битом, который можно скопировать с помощью кнопки «копировать» рядом с ним
  • То же, что и 2-й, но с кнопкой «вставить» рядом с одной из записей
  • всплывающее окно выхода
  • большое окно с именами, номерами и прямоугольными формами

Я думал о создании одного абстрактного класса "DummyWindow", который был бы основой для любого другого, а затем расширял его. Что ты говоришь? Кроме того, что бы вы посоветовали относительно фактического подхода кода к окнам? Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

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

2 голосов
/ 20 июля 2011

Итак, вы захотите использовать Swing. Вот простая демо Hello World, которую вы можете скопировать и вставить.

http://www.java2s.com/Code/Java/Swing-JFC/HelloWorldSwing.htm

Для того, что вы делаете, вам захочется взглянуть на CardLayout. CardLayout делает создание мастеров, таких как описанный вами, очень простым. Я бы создал несколько подклассов JPanel для каждого отдельного экрана, который вы планируете отображать. Эти серии JPanel могут быть добавлены вместе в более крупную JPanel с помощью CardLayout. Каждый из подэкранов будет отдельным экраном, который отображается отдельно. Затем эту большую панель можно нанести на лицевую панель JFrame или JDialog.

Я также рекомендую использовать TableLayout поверх GridBagLayout, GridLayout, вложенный BoxLayout, который предоставляется в Swing. Вы можете узнать о TableLayout здесь и скачать его:

http://java.sun.com/products/jfc/tsc/articles/tablelayout/

Я обычно делю на подклассы такие вещи, как JPanel для оконных вещей, потому что JPanel - это простой контейнер, который можно добавлять в JFrame, JDialog и т. Д. Без каких-либо внутренних изменений. Если вы подкласс JFrame, JWindow или JDialog, вы можете быть только таким. JPanel дает вам гибкость.

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