Тимур Машнин

Графические интерфейсы пользователя Java


Скачать книгу

href="#image92_5d55fa9474b5f279e419fa03_jpg.jpeg"/>

      Класс графического компонента связывает модель и представителя с помощью менеджера пользовательского интерфейса (UIManager), который определяет внешний вид и поведение интерфейса (Look and Feel).

      Именно поэтому библиотека Swing имеет подключаемую архитектуру look-and-feel.

      Таким образом, для реализации модели MVC библиотека Swing использует делегирование (delegation) полномочий, назначая в качестве модели данных представителя (delegate) – экземпляр класса с именем вида xxxModel.

      Класс библиотеки Swing содержит защищенное или даже закрытое поле model – объект этого класса-модели, и метод getModel, предоставляющий разработчику доступ к полю model.

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

      Swing класс JComponent содержит защищенное поле ui – экземпляр класса-представителя ComponentUI из пакета javax.swing.plaf, непосредственно отвечающего за вывод изображения на экран в нужном виде.

      Класс-представитель содержит методы paint и update, формирующие и обновляющие графику компонента.

      Такие представители образуют целую иерархию с общим суперклассом ComponentUI.

      Они собраны в пакет javax.swing.plaf и его подпакеты.

      В их именах есть буквы UI (User Interface), например, ButtonUI.

      Представители класса тоже являются полями класса Swing компонента, и доступ к ним осуществляется методами вида getUI.

      При построении графического интерфейса пользователя редко приходится обращаться к моделям и представителям компонента.

      В большинстве случаев достаточно обращаться к методам самого класса компонента.

      Если есть желание поменять модель, принятую по умолчанию, можно заменить ее другой моделью, реализовав подходящий интерфейс или расширив существующий класс xxxModel.

      Новая модель данных устанавливается методом setModel (xxxModel).

      Для создания графического интерфейса пользователя с использованием библиотеки Swing в среде разработки IntelliJ IDEA, нужно нажать правой кнопкой мышки на пакете приложения и выбрать New – GUI Form.

      Ввести имя класса и нажать OK.

      В результате будет создан Java класс и его XML описание с расширением. form, которое открывается в визуальном редакторе, позволяя визуально создавать и редактировать GUI интерфейс.

      Первоначально форма состоит только из контейнера JPanel.

      Для дальнейшей работы с GUI интерфейсом, нужно в поле field name ввести имя этого компонента.

      При желании можно изменить компоновку компонента.

      Далее нужно открыть связанный с формой Java класс и в коде класса нажать правой кнопкой мыши и выбрать Generate – Form main ().

      В результате будет сгенерирован код запуска формы.

      А именно, будет сгенерирован метод main, в котором будет создано окно верхнего уровня JFrame.

      И в это окно будет добавлена панель формы.

      Теперь можно вернуться в визуальный редактор и добавлять компоненты в форму.