Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная 6 - Строки и окна в java.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
200.07 Кб
Скачать

Создание графического интерфейса пользователя с помощью библиотек awt и Swing

Язык Java содержит 2 библиотеки классов, предназначенных для разработки приложений, реализующих графический интерфейс пользователя (GUI – graphics user interface):

- библиотека AWT (Abstract Window Toolkit – набор абстракций для работы с окнами) поставляется в составе JDK в пакете java.awt

- библиотека JFC (Java Foundation Classes) более известная как Swing поставляется в составе JDK в пакете javax.swing.

В первых версиях языка (Java 1.0, 1.1) программистам была доступна только библиотека AWT, JFC пакет был включен в версию Java 2. Он расширяет функциональность обычных компонентов (меток, кнопок, переключателей, списков и т.п.) и добавляет новые: панели со вкладками, панели с прокруткой, деревья и таблицы и др.

Важно отметить, что в отличие от AWT-компонентов Swing-компоненты не реализованы специфическим для платформы кодом. Вместо этого они написаны полностью на Java, поэтому являются платформно - независимыми. Такие элементы принято называть облегченными (lightweight).

Хотя Java 2 продолжает поддерживать пакет AWT, но по приведенным выше причинам Sun настоятельно рекомендует использовать Swing. Для облегчения работы программистов названия Swing элементов начинаются с буквы J в отличие от названий в AWT (например, Button в AWT и JButton в Swing).

Часть иерархии классов библиотек AWT и Swing представлена на рис.

Основные классы библиотек awt и Swing

Основное понятие, заложенное в графические библиотеки – компонент графической системы. Компонент – отдельный, полностью определенный элемент, который можно использовать в GUI независимо от других элементов. Например, это поле ввода, кнопка, строка меню, полоса прокрутки, «радиопереключатель» и т.п. Само окно приложения – тоже его компонент.

В Java компонентом считается объект класса Component или одного из классов, расширяющих Component. В классе Component определены общие методы работы с любым компонентом GUI. Этот класс – вершина иерархии графических библиотек, поэтому его необходимо рассмотреть подробнее.

Класс Component

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

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

Ox

Oy

Высоту и ширину компонента можно узнать с помощью метода

Dimension getSize()

Этот метод возвращает объект класса Dimension, в полях width и height, которого хранятся ширина и высота компонента. Ту же задачу можно решить с помощью методов

int getWidth()

int getHeight()

класса Component. Разница заключается в том, что в объекте класса Dimension переменные width и height хранятся в виде чисел типа double, а методы класса Component возвращают числа типа int.

Чтобы установить положение и размеры компонента можно воспользоваться методом

setBounds(int x, int y, int width, int height)

Доступность компонента и его видимость на экране определяется с помощью методов

isEnabled()

isVisible()

Управлять этими параметрами можно с помощью методов

setEnabled(boolean b)

setVisible(boolean b)