- •Лабораторная работа 6 Использование строк в оконных приложениях Java
- •Работа со строками в Java. Основные методы класса String
- •Создание графического интерфейса пользователя с помощью библиотек awt и Swing
- •Основные классы библиотек awt и Swing
- •Класс Component
- •Класс Container
- •Класс окна - jFrame
- •JTable – отображение данные в виде таблицы
- •Универсальный слушатель ActionListener
Создание графического интерфейса пользователя с помощью библиотек 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)
