Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Лекции / 4 - Презентация - Полиморфизм

.pdf
Скачиваний:
71
Добавлен:
25.12.2020
Размер:
19.24 Mб
Скачать

Центрдистанционногообучения

Обработка событий в Java

online.mirea.ru

Центрдистанционногообучения

События и слушатели

Стандартная библиотека классов Java содержит

несколько классов, которые представляют собой

типичные события

Компоненты, такие как кнопки, генерируют событие,

когда оно происходит

Объект слушателя "ждет” события, которое должно

произойти и реагирует соответствующим образом

Мы можем конструировать объекты слушателя и

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

4-52 online.mirea.ru

Центрдистанционногообучения

События и слушатели

Event

Component

Listener

Объект

соответствующий объект

компонента может

Слушателя

генерировать

предназначен для

событие

реагирования на событие

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

передает объекту, который описывает событие

4-53 online.mirea.ru

Центрдистанционногообучения

GUI Разработка

Как правило, мы используем компоненты и события, которые представляют предопределенные классы в библиотеке классов Java

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

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

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

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

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

4-54 online.mirea.ru

Центрдистанционногообучения

Структура GUI java

online.mirea.ru

Центрдистанционногообучения

концепция MVC

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

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

model (модель),

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

online.mirea.ru

Центрдистанционногообучения

концепция MVC

Блок controller – преобразует действия пользователя (в

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

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

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

online.mirea.ru

Центрдистанционногообучения

Структура GUI java

Окно JFrame

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

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

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

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

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

Обратиться к этой панели можно

методом getContentPane() класса JFrame. С помощью

метода add(Component component) можно добавить на нее любой элемент управления.

online.mirea.ru

Центрдистанционногообучения

Структура GUI java

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

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

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

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

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

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

online.mirea.ru

Центрдистанционногообучения

Структура GUI java

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

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

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

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

online.mirea.ru

Соседние файлы в папке Лекции