Материал: 4 - Полиморфизм

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

GUI Разработка

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

создать экземпляры объектов и настроить необходимые компоненты

реализовать классы слушателя для любых событий, мы заботимся

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

Давайте теперь рассмотрим некоторые новые компоненты и посмотреть, как все это происходит вместе.

Структура GUI java

Концепция MVC

Приложение должно состоять из 3-х фундаментальных логических частей:

controller (контроллер),

model (модель),

view (представление/отображение).

Блок controller – преобразует действия пользователя (в данном контексте, пользователь – не обязательно человек) во входящие параметры для

Model и передает управление в Model. Блок model – реализует всю логику работы программы и подготавливает данные для отображения. Блок view – визуализирует результаты работы программы.

Каждое действие пользователя всегда запускает цепочку controller- >model->view.

Структура GUI java

Окно JFrame

Каждая GUI-программа запускается в окне и по ходу работы может открывать несколько дополнительных окон.

Вбиблиотеке Swing описан класс JFrame, представляющий собой окно

срамкой и строкой заголовка (с кнопками «Свернуть», «Во весь экран» и «Закрыть»). Оно может изменять размеры и перемещаться по экрану.

Панель содержимого

Напрямую в окне элементы управления не размещаются. Для этого служит панель содержимого, занимающая все пространство окна*.

Обратиться к этой панели можно методом getContentPane() класса JFrame. С помощью метода add(Component component) можно добавить на нее любой элемент управления.

Класс Container (контейнер)

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

add(Component component) — добавляет в контейнер элемент component;

remove(Component component) — удаляет из контейнера элемент component;

removeAll() — удаляет все элементы контейнера;

getComponentCount() — возвращает число элементов контейнера.

Класс JPanel (панель)

Панель JPanel — это элемент управления, представляющий собой прямоугольное пространство, на котором можно размещать другие элементы. Элементы добавляются и удаляются методами, унаследованными от класса Container.

На самом деле у каждой панели есть так называемый менеджер размещения, который определяет стратегию взаимного расположения элементов, добавляемых на панель. Его можно изменить методом setLayout(LayoutManager manager). Но чтобы передать в этот метод нужный параметр, необходимо знать, какими бывают менеджеры.

GUI проектирование

Мы должны помнить, что цель программного обеспечения, чтобы помочь пользователю решить проблему

С этой целью проектировщик GUI должен:

Узнать нужды пользователя

Предотвратить ошибки пользователей

Оптимизацию возможностей пользователя

Быть последовательным

Будьте последовательными

Последовательность –это важно, так-как пользователи привыкают к некоторым вещам, появляющихся и работающих в определенном порядке и связанными определенными отношениями. Цвета должны быть использованы последовательно, чтобы указывать на схожие типы информации или ее обработку. Структура экрана должна соответствовать принятому шаблону при переходе из одной части системы в другую ( например при переходе через меню). Например, сообщения об ошибках должны появляться в местах, соответствующих разработанной структуре меню.

Менеджеры Layout

Менеджер layout manager является объектом, который определяет способ, которым компоненты расположены в контейнере.

Есть несколько предопределенных менеджеров компоновки, определенных в стандартной библиотеке классов Java:

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

Мы можем использовать метод setLayout , что бы изменить Layout менеджер

JPanel panel = new JPanel();

panel.setLayout(new BorderLayout());

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

Flow Layout

Flow layout располагает столько компонентов, сколько можно расположить в ряд, затем переходит к следующей строке. Ряды создаются по мере необходимости, чтобы вместить все компоненты. Компоненты отображаются в порядке их добавления в контейнер. Каждая строка компонентов центрируется по горизонтали в окне по умолчанию, но могут быть также выровнены влево или вправо. Кроме того, горизонтальные и вертикальные зазоры между компонентами может быть явно установлены.

Border Layout

Компонент border layout определяет пять областей, в которых компоненты могут быть добавлены с ориентацией по сторонам света и в центре.

BorderLayout – это один из layout Java Swing, который используется для расположения компонентов на контейнере. Принцип, который использует

Источник: https://studfile.net/preview/16403758/