Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога 2012.docx
Скачиваний:
3
Добавлен:
17.09.2019
Размер:
1.45 Mб
Скачать

Вопрос 41. Компонент и контейнер.

Основное понятие графического интерфейса пользователя (ГИП) —  компонент (component) графической системы. В русском языке это слово подразумевает просто составную часть, элемент чего-нибудь, но в графическом интерфейсе это понятие гораздо конкретнее. Оно означает отдельный, полностью определенный элемент, который можно использовать в графическом интерфейсе независимо от других элементов. Например, это поле ввода, кнопка, строка меню, полоса прокрутки, радиокнопка. Само окно приложения — тоже его компонент. Компоненты могут быть и невидимыми, например, панель, объединяющая компоненты, тоже является компонентом.

Любой компонент, требующий показа на экране, должен быть добавлен в класс-контейнер. Контейнеры служат хранилищем для визульных компонентов интерфейса и других контейнеров. Простейший пример контейнера - класс Frame, объекты которого отображаются на экране как стандартные окна с рамкой.

Чтобы показать компонент пользовательского интерфейса в окне, требуется создать объект-контейнер, например окно класса Frame, создать требуемый компонент и добавить его в контейнер, а уже затем отобразить его на экране. Несмотря на столь длинный список действий, в исходном тексте этот процесс занимает всего несколько строк:

// Создается текстовый объект

с надписью "Строка"

Label text = new Label("Строка");

// Объект добавляется в некий контейнер

SomeContainer.add (text);

// Отображается контейнер

SomeContainer.Show();

В классе component собраны общие методы работы с любым компонентом графического интерфейса пользователя. Этот класс — центр библиотеки AWT. Класс Jcomponent - для Swing

Каждый компонент перед выводом на экран помещается в контейнер (container). Контейнер "знает", как разместить компоненты на экране. Разумеется, в языке Java контейнер — это объект класса Container или всякого его расширения. Прямой наследник этого класса — класс jcomponent — вершина иерархии многих классов библиотеки Swing.

Создав компонент — объект класса Component или его расширения, следует добавить его к предварительно созданному объекту класса container или его расширения одним из методов add ().

Класс Container сам является невидимым компонентом, он расширяет класс Component. Таким образом, в контейнер наряду с компонентами можно помещать контейнеры, в которых находятся какие-то другие компоненты, достигая тем самым большой гибкости расположения компонентов.

Вопрос 42. Jframe — в иерархии объектов графики.

Ответы к экзамену по программированию часть 5 (вопр. 57-69)

  1. События мышки. Общая схема обработки событий мышки:

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

  • Задача: "сфокусировать" приложение на нужном компоненте

Схема обработки событий:

  • Источник события

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

  • Обработчик события

    • Источник передает события зарегистрированным слушателям

    • Слушатель организует обработку (самостоятельно или вызовом специальных методов-обработчиков)

  1. Методы интерфейса MouseListener и их назначение:

Интерфейс listener для получения событий, связанных с мышкой:

void mouseClicked(MouseEvent e) - кнопка мыши была нажата (нажата и отпущена) на компоненте

void mouseEntered(MouseEvent e) - Вызывается, когда мышь входит в компонент

void mouseExited(MouseEvent e) - Вызывается, когда мышь выходит из компонента

void mousePressed(MouseEvent e) - кнопка мыши была нажата на компоненте

void mouseReleased(MouseEvent e) - кнопка мыши была отпущена на компоненте