Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_Po_Tp.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.44 Mб
Скачать

Задания к лабораторной работе

Задание 1. Создать апплеты FontsList, LinesDraw, KeyCodes и объяснить их работу. Апплеты должны иметь возможность работать как независимые приложения.

Задание 2. Дать ответы на контрольные вопросы.

Контрольные вопросы

  1. Над объектом какого типа выполняются все графические операции?

  2. Почему рекомендуется использовать ограниченный набор цветов?

  3. Почему рекомендуется использовать ограниченный набор шрифтов?

  4. Как получить метрики шрифтов?

  5. Когда возникают события?

  6. Какой метод какого класса получает управление при возникновении события? Что передается ему в качестве параметра?

  7. Какие методы отвечают за обработку простых событий от мыши?

  8. Какое значение (true или false) должен вернуть метод-обработчик для того, чтобы событие считалось обработанным и не передавалось на дальнейшую обработку методу суперкласса?

  9. Какие методы отвечают за обработку простых событий от клавиатуры?

  10. Для чего нужен фокус ввода?

ЛАБОРАТОРНАЯ РАБОТА № 4

КОМПОНЕНТЫ И ИСПОЛЬЗОВАНИЕ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ

(4 часа)

Методические указания к лабораторной работе

Для создания графического интерфейса пользователя (GUI) применяются различные элементы управления (кнопки, списки, поля редактирования и т.д.) и контейнеры, содержащие в себе эти элементы и вложенные контейнеры. Предком всех этих компонент пользовательского интерфейса является класс Component.

1. Компоненты gui

Графическое окружение языка Java основано на классе Component. Всякий графический вывод на экран связан (прямо или косвенно) с компонентом. Например, в силу того, что апплеты фактически являются потомками класса Component, имеется возможность рисовать прямо в апплете, не прибегая для этого к специальным методам.

Класс Component содержит очень много методов для обеспечения работы с компонентом GUI.

Некоторые методы класса Component:

  • getParent - Получает объект-предок компонента

  • isShowing - Проверяет, является ли компонент видимым

  • isEnabled - Проверяет, является ли компонент разрешенным

  • location - Возвращает текущее положение компонента

  • size - Возвращает текущий размер компонента

  • bounds - Возвращает текущие границы компонента

  • enable - Разрешает компонент

  • disable - Запрещает компонент

  • show - Отображает компонент

  • hide - Скрывает компонент

  • getForeground - Получает текущий цвет переднего плана

  • setForeground - Устанавливает текущий цвет переднего плана

  • getBackground - Получает текущий цвет фона

  • setBackground - Устанавливает текущий цвет фона

  • getFont - Получает текущий шрифт

  • setFont - Устанавливает текущий шрифт

  • move - Перемещает компонент в новое положение (в системе координат предка)

  • resize - Изменяет ширину и высоту компонента

  • reshape - Изменяет форму компонента (положение, высоту и ширину)

  • prefferedSize - Возвращает предпочтительный размер компонента

  • minimumSize - Возвращает минимальный размер компонента

  • getGraphics - Получает графический контекст компонента

  • getFontMetrics - Получает типографские параметры текущего шрифта

  • paint - Отвечает за рисование компонента

  • update - Отвечает за обновление компонента, вызывается методом repaint()

  • paintAll - Отвечает за рисование компонента и его подкомпонентов

  • repaint - Вызывает перерисовку компонента. Этот метод вызывает метод update()

  • print - Отвечает за печать компонента

  • imageUpdate - Отвечает за перерисовку компонента при изменении выводимого в компоненте изображения типа Image

  • createImage - Создает изображение

  • prepareImage - Подготавливает изображение типа Image для визуализации

  • checkImage - Возвращает состояние создания экранного представления изображения

  • inside - Проверяет, находится ли заданная точка «внутри» компонента

  • locate - Возвращает компонент, содержащий заданную точку

  • deliverEvent - Доставляет событие компоненту

  • postEvent - Пересылает событие компоненту, в результате чего вызывается метод handleEvent()

  • handleEvent - Отвечает за обработку события. Если метод возвращает false, то событие передается предку компонента

  • mouseDown, mouseDrag, mouseUp, mouseMove, mouseEnter, mouseExit - Отвечают за обработку соответствующих событий мыши

  • keyUp, keyDown - Отвечают за обработку соответствующих событий клавиатуры

  • action - вызывается в том случае, если в компоненте происходит некоторое действие

  • gotFocus - Указывает на то, что компонент получил фокус ввода

  • lostFocus - Указывает на то, что компонент потерял фокус ввода

  • requestFocus - Запрашивает фокус ввод

  • nextFocus - Передает фокус следующему компоненту

Этими методами могут пользоваться все наследуемые от класса Component классы GUI - все элементы управления и класс контейнеров. Эти компоненты GUI имеют следующие деревья наследования:

Object  Component  Button

Object  Component  CheckBox

Object  Component  Choice

Object  Component  List

Object  Component  Scrollbar

Object  Component  Label

Object  Component  Canvas

Object  Component  TextComponent

Object  Component  TextComponent  TextField

Object  Component  TextComponent  TextArea

Object  Component  Container

Для того чтобы нарисовать изображение, вывести некоторый текст или разместить элемент пользовательского интерфейса на экране, должен использоваться контейнер класса Container или его подкласса. Контейнеры - это объекты, которые содержат компоненты. А компоненты - это объекты, которые попадают под класс Component: кнопки, полосы прокрутки, другие элементы управления. Контейнеры сами являются подклассами Component, что подразумевает возможность их вложения или размещения внутри друг друга.

Так, например, класс Applet является подклассом Panel, который в свою очередь является подклассом Container, а тот - подклассом Component. Поэтому все апплеты умеют вводить и отображать компоненты. Нужно просто создать компонент и ввести его в апплет.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]