3.1 Компонент и контейнер
Основное понятие графического интерфейса пользователя (ГИП) -- компонент (component) графической системы. В русском языке это слово подразумевает просто составную часть, элемент чего-нибудь, но в графическом интерфейсе это понятие гораздо конкретнее. Оно означает отдельный, полностью определенный элемент, который можно использовать в графическом интерфейсе независимо от других элементов. Например, это поле ввода, кнопка, строка меню, полоса прокрутки, радиокнопка. Само окно приложения -- тоже его компонент. Компоненты могут быть и невидимыми, например, панель, объединяющая компоненты, тоже является компонентом.
Вы не удивитесь, узнав, что в AWT компонентом считается объект класса Component или объект всякого класса, расширяющего класс component. В классе component собраны общие методы работы с любым компонентом графического интерфейса пользователя. Этот класс -- центр библиотеки AWT.
Каждый компонент перед выводом на экран помещается в контейнер (container). Контейнер "знает", как разместить компоненты на экране. Разумеется, в языке Java контейнер -- это объект класса Container или всякого его расширения. Прямой наследник этого класса -- класс jcomponent -- вершина иерархии многих классов библиотеки Swing.
Создав компонент -- объект класса Component или его расширения, следует добавить его к предварительно созданному объекту класса container или его расширения одним из методов add ().
Класс Container сам является невидимым компонентом, он расширяет класс Component. Таким образом, в контейнер наряду с компонентами можно помещать контейнеры, в которых находятся какие-то другие компоненты, достигая тем самым большой гибкости расположения компонентов.
Основное окно приложения, активно взаимодействующее с операционной системой, необходимо построить по правилам графической системы. Оно должно перемещаться по экрану, изменять размеры, реагировать на дейст-
вия мыши и клавиатуры. В окне должны быть, как минимум, следующие стандартные компоненты.
· Строка заголовка (title bar), с левой стороны которой необходимо разместить кнопку контекстного меню, а с правой -- кнопки сворачивания и разворачивания окна и кнопку закрытия приложения.
· Необязательная строка меню (menu bar) с выпадающими пунктами меню.
· Горизонтальная и вертикальная полосы прокрутки (scrollbars).
· Окно должно быть окружено рамкой (border), реагирующей на действия мыши.
Окно с этими компонентами в готовом виде описано в классе Frame. Чтобы создать окно, достаточно сделать свой класс расширением класса Frame, как показано в листинге 8.1. Всего восемь строк текста и окно готово.
- Введение
- Глава 1 Основы Java
- 1.1 Выполнение Java-программы
- 1.2 Что такое JDK
- Глава 2 Объектно-ориентированное программирование в Java
- 2.1 Принципы объектно-ориентированного программирования
- Глава 3 Принципы построения графического интерфейса
- 3.1 Компонент и контейнер
- Глава 4 Апплеты
- 4.1 Апплеты
- 4.2 Параметры тега <applet>
- 4.3 Сведения об окружении апплета
- 4.4 Изображение и звук
- Заключение