Читаем Java 7 полностью

ГЛАВА 10

<p><strong>Основные компоненты AWT</strong></p>

Казалось, что компоненты AWT постепенно выходят из употребления. Они не могут удовлетворить возрастающие потребности программистов и пользователей и заменяются компонентами Swing, SWAT, SWT и других графических библиотек. Тем не менее апплеты и некоторые приложения еще часто приходится создавать на основе компонентов AWT, а они используются в сотовых телефонах и других мобильных устройствах.

Графическая библиотека 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.

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

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

<p><strong>Класс <emphasis>Component</emphasis></strong></p>

Класс Component — центр библиотеки AWT — очень велик и обладает большими возможностями. В нем пять статических констант, определяющих размещение компонента внутри пространства, выделенного для компонента в содержащем его контейнере:

BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT, и около сотни методов.

Большинство методов — это методы доступа getXXX(), is^XX(), set^XX(). Изучать их нет смысла, надо просто посмотреть, как они используются в подклассах.

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

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

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

Dimension, а установить — методом setPreferredSize(Dimension) .

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

getMinimumSize ( ) и getMaximumSize() в виде объекта Dimension. Установить эти размеры можно методами setMinimumSize (Dimension) и setMaximumSize (Dimension).

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

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

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

Компонент может быть недоступен для действий пользователя, тогда он выделяется на экране обычно светло-серым цветом. Доступность компонента можно проверить логическим методом isEnabled (), а изменить — методом 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).

Положение курсора мыши над компонентом можно отследить методом getMousePosition ( ), возвращающим координаты курсора в виде объекта класса Point.

Перейти на страницу:

Все книги серии В подлиннике

Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных