Иллюстрированный самоучитель по Java

Класс Component

Графическая библиотека AWT предлагает более двадцати готовых компонентов. Они показаны на рис. 8.2. Наиболее часто используются подклассы класса Component: классы Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TextArea, TextField, Panel, ScrollPane, Window, Dialog, FileDialog, Frame.

Еще одна группа компонентов – это компоненты меню – классы Menuitem, MenuBar, Menu, PopupMenu, CheckboxMenuItem. Мы рассмотрим их в главе 13.

Забегая вперед, для каждого компонента перечислим события, которые в нем происходят. Обработку событий мы разберем в главе 12.

Начнем изучать эти компоненты от простых компонентов к сложным и от наиболее часто используемых к применяемым реже. Но сначала посмотрим на то общее, что есть во всех этих компонентах, на сам класс component.


Класс component – центр библиотеки AWT – очень велик и обладает большими возможностями. В нем пять статических констант, определяющих размещение компонента внутри пространства, выделенного для компонента в содержащем его контейнере: BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT, и около сотни методов.

Большинство методов – это методы доступа getxxx(), isxxx(), setxxx(). Изучать их нет смысла, надо просто посмотреть, как они используются в подклассах.

Конструктор класса недоступен – он защищенный (protected), потому, что класс component абстрактный, он не может использоваться сам по себе, применяются только его подклассы.

Компонент всегда занимает прямоугольную область со сторонами, параллельными сторонам экрана и в каждый момент времени имеет определенные размеры, измеряемые в пикселах, которые можно узнать методом getsize(), возвращающим объект класса Dimension, или целочисленными методами getHeight() и getwidth(), возвращающими высоту и ширину прямоугольника. Новый размер компонента можно установить из программы методами setSize(Dimension d) или setSize(int width, int height), если это допускает менеджер размещения контейнера, содержащего компонент.

У компонента есть предпочтительный размер, при котором компонент выглядит наиболее пропорционально. Его можно получить методом getPreferredSize() В виде объекта Dimension.

Компонент обладает минимальным и максимальным размерами. Их возвращают методы getMinimumSize() и getMaximumSize () в виде объекта Dimension.

В компоненте есть система координат. Ее начало – точка с координатами (0, 0) – находится в левом верхнем углу компонента, ось Ох идет вправо, ось Оу – вниз, координатные точки расположены между пикселами.

В компоненте хранятся координаты его левого верхнего угла в системе координат объемлющего контейнера. Их можно узнать методами getLocation (), а изменить – методами setLocation(), переместив компонент в контейнере, если это позволит менеджер размещения компонентов.

Можно выяснить сразу и положение, и размер прямоугольной области компонента методом getBounds (), возвращающим объект класса Rectangle, и изменить разом и положение, и размер компонента методами setBounds (), если это позволит сделать менеджер размещения.

Компонент может быть недоступен для действий пользователя, тогда он выделяется на экране обычно светло-серым цветом. Доступность компонента можно проверить логическим методом isEnabied(), а изменить– методом setEnabled(boolean enable).

Для многих компонентов определяется графический контекст – объект класса Graphics, – который управляется методом paint (), описанным в предыдущей главе, и который можно получить методом getGraphics ().

В контексте есть текущий цвет и цвет фона – объекты класса color. Цвет фона можно получить методом getBackground(), а изменить– методом setBackground(Color color). Текущий цвет можно получить методом getForeground(), а изменить – методом setForeground(Color color).

В контексте есть шрифт – объект класса Font, возвращаемый методом getFont() и изменяемый методом setFont(Font font).

В компоненте определяется локаль – объект класса Locale. Его можно получить методом getLocale(), изменить – методом setLocale(Locale locale).

В компоненте существует курсор, показывающий положение мыши, – объект класса Cursor. Его можно получить методом getcursor (), изменяется форма курсора в "тяжелых" компонентах с помощью метода setcursor(Cursor cursor). Остановимся на этом классе подробнее.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.