События поддерживаются множеством пакетов, включая java.uti1, java.awt и java.event.
Каждый тип события имеет собственный метод реrистрации. Вот ero общая форма:
pиblic void addTypeListener(TypeListener el)
Здесь Туре имя события, а еl ссылка на слушатель событий. Например, метод, реrистрируЮщий слушатель событий клавиатуры, называется addKeyListener (), а Meтод, реrистрирующий слушатель движения мыши addМouseMotionListener ().
Некоторые источники допускают реrистрацию только одноrо слушателя. Общая форма TaKoro метода показана ниже.
pиblic void addTypeListener(TypeListener el)
hrows java.иtil.TooManyListenersException
называется индивидуалыюй рассылкой события,
68.AWT классы. Основы оконной графики.AWT определяет окна согласно иерархии классов.Таблица. Классы пакета AWT
Класс
Описание
BorderLayout
Диспетчер компоновки страниц. Границы устанавливаются с помощью North, South, East,West, Center
Button
Кнопка
Canvas
Чистое окно
CardLayout
Диспетчер компоновки с помощью вкладок. В каждый момент времени отображается лишь верхняя вкладка
CheckBox
Флажок
CheckboxGroup
Группа флажков
CheckboxMenuItem
Помечаемый пункт меню
Choice
Всплывающий список
Color
Управление цветами, не зависящими от платформы
Component
Абстрактный суперкласс для компонентов AWT
Container
Абстрактный подкласс класса Component, который может содержать другие компоненты
Dialogue
Диалоговое окно
Dimention
Задание размеров объекта. Ширина - width, высота - height
Event
Событие
FileDialogue
Окно выбора файла
FlowLayout
Диспетчер компоновки для последовательного размещения компонентов слева направо и сверху вниз
Font
Шрифт
FontMetrics
Инкапсулирование информации, связанной со шрифтом
Frame
Стандартное окно со строкой заголовка, меню и возможностью изменения размеров
Graphics
Инкапсулирование графического контекста
GridBagConstrains
Определение различных ограничений на GridBagLayout
GridBagLayout
Диспетчер компоновки для табличного размещения, который отображает компоненты
Image
Графическое изображение
Insets
Инкапсулирует границы контейнера
Label
Метка для вывода строки текста на экран
List
Список, в котором пользователь может выбирать нужный элемент (аналогично Windows)
MediaTracker
Управление мультимедиа-объектами
Menu
Меню
MenuBar
Полоса меню
MenuComponent
Абстрактный класс, реализуемый различными классами меню
MenuItem
Пункт меню
Panel
Простейший подкласс Component
Point
Декартовы координаты, хранящиеся в x, y
Polygon
Многоугольник
Rectangle
Прямоугольник
ScrollBar
Полоса прокрутки
TextArea
Область ввода текста
TextComponent
Суперкласс для TextArea и TextField
TextField
Строка ввода
Toolkit
Абстрактный класс, реализуемый AWT
Window
Окно без рамки, меню и заголовка
Для поддержки пользовательских интерфейсов язык Java содержит библиотеки классов, позволяющие создавать и поддерживать окна, использовать элементы управления (кнопки, меню, полосы прокрутки и др.), применять инструменты для создания графических приложений. Графические инструменты и интерфейсы пользователя в языке Java реализованы с помощью двух библиотек: Пакет AWT(загружается java.awt) содержит набор классов, позволяющих выполнять графические операции и создавать элементы управления. Этот пакет поддерживается последующими версиями языка, однако считается весьма ограниченным и недостаточно эффективным.
69.
Swing система.Swing API — это набор классов, который обеспечивает более мощные и гибкие компоненты, чем AWT. В дополнение к знакомым компонентам типа кнопок, флажков и меток Swing поставляет несколько интересных добавлений, включая панели со вкладками, панели с прокруткой, деревья и таблицы. Даже знакомые компоненты, такие как кнопки, имеют в Swing больше возможностей. Например, с кнопкой можно связать как изображение, так и текстовую строку. Кроме того, изображение может изменяться, когда изменяется состояние кнопки. В отличие от AWT-компонентов, Swing-компоненты не реализованы специфическим для платформы кодом. Вместо этого они написаны полностью на Java и, поэтому, платформно-независимы. Для описания таких элементов используется термин облегченный (lightweight). Число классов и интерфейсов в пакетах Swing достаточно велико, так что в текущей главе приводится краткий обзор только некоторых из них.
Классы Swing-компонентов : Класс Описание AbstractButton ButtonGroup Абстрактный суперкласс для кнопок Swing Инкапсулирует взаимоисключающий набор кнопок ImageIcon Инкапсулирует значок Класс Описание JApplet Swing-версия класса Applet JButton Класс Swing-кнопок JCheckBox Класс Swing-флажков
JComboBox Инкапсулирует combobox (комбинация раскрывающегося списка и текстового поля) JLabel Swing-версия метки JRadioButton Swing-версия переключателей JScrollPane Инкапсулирует прокручиваемую панель JTabbedPane Инкапсулирует панели с вкладками JTable Инкапсулирует таблицы или сетки JTextField Swing-версия текстового поля JTree Инкапсулирует деревья
Относящиеся к Swing классы содержатся в пакете javax.swing и его подпа-кетах, таких как javax.swing.tree1. Существует много других Swing-классов и интерфейсов, которые в данной главе не рассматриваются. Здесь мы разберем лишь некоторые Swing-компоненты и проиллюстрируем их на примерах апплетов.