Компоненты JavaBeans
Многие программисты предпочитают разрабатывать приложения с графическим интерфейсом пользователя с помощью визуальных средств разработки IDE (Integrated
Development Environment), таких как NetBeans, IntelliJ IDEA, Eclipse, JBuilder и др. Эти средства позволяют помещать компоненты в контейнер графически, с помощью мыши.
В окне приложения центральное место занимает форма, на которой размещаются компоненты. Сами компоненты показаны ярлыками на панели компонентов, расположенной обычно выше формы или сбоку от формы.
Чтобы поместить компонент на форму, надо щелкнуть кнопкой мыши на ярлыке компонента, перенести курсор мыши в нужное место формы и щелкнуть кнопкой мыши еще раз.
Далее следует определить свойства (properties) компонента: текст, цвет текста и фона, вид курсора мыши, когда он появляется над компонентом. Свойства определяются в окне свойств, расположенном обычно справа от формы. Окно свойств появляется чаще всего при выборе пункта меню Properties из контекстного меню, появляющегося при щелчке правой кнопкой мыши на компоненте. В левой колонке окна свойств перечислены имена свойств, в правую колонку надо записать их значения.
Потом можно задать обработку событий, открыв вторую страницу окна свойств или выбрав соответствующий пункт контекстного меню.
Для того чтобы компонент можно было применять в таком визуальном средстве разработки, как Eclipse, он должен обладать дополнительными качествами. У него должен быть ярлык, помещаемый на панель компонентов. Среди полей компонента должны быть выделены свойства (properties), которые будут показаны в окне свойств. Следует определить методы доступа getXxx()/setXxx()/isXxx() к каждому свойству. Этими методами будет пользоваться IDE, чтобы определить свойства компонента.
Компонент, снабженный этими и другими необходимыми качествами, в технологии Java называется компонентом JavaBean. В него может входить один или несколько классов. Как правило, файлы этих классов упаковываются в jar-архив и отмечаются
в файле MANIFEST.MF как Java-Bean: True.
Все компоненты AWT и Swing являются компонентами JavaBeans. Если вы создаете свой графический компонент по правилам, изложенным в части III, то вы тоже получаете свой JavaBean. Но для того чтобы не упустить каких-либо важных качеств JavaBeans, лучше использовать для их разработки специальные средства, входящие в состав всех IDE, например, в NetBeans.
Последние изменения правил создания JavaBeans и примеры даны в документации
Java SE, в каталоге technotes/guides/beans.
Правила оформления компонентов JavaBeans изложены в спецификации JavaBeans API Specification, которую можно найти по адресу:
http://www.oracle.com/technetwork/java/javase/documentation/spec-136004.html.
Визуальные средства разработки — это не основное применение JavaBeans. Главное достоинство компонентов, оформленных как JavaBeans, в том, что они без труда встраиваются в любое приложение. Более того, приложение можно собрать из готовых JavaBeans как из строительных блоков, остается только настроить их свойства.
- Введение
- Выполнение Java-программы
- Как использовать JDK?
- Литература по Java
- Аннотации
- Константы
- Целые
- Имена
- Примитивные типы данных и операции
- Операции над целыми типами
- Арифметические операции
- Сдвиги
- Упражнения
- Условная операция
- Упражнения
- Выражения
- Операторы
- Операторы цикла
- Массивы
- Принципы объектно-ориентированного программирования
- Абстракция
- Ответственность
- Упражнения
- Как описать класс и подкласс?
- Переопределение методов
- Операция new
- Упражнение
- Статические члены класса
- Вложенные классы
- Отношения "быть частью" и "являться"
- Размещение пакетов по файлам
- Перечисления
- Design patterns
- Схема проектирования MVC
- Заключение
- Вопросы для самопроверки
- Настраиваемые типы (generics)
- Класс String
- Как создать строку
- Упражнение
- Сцепление строк
- Как узнать длину строки
- Как найти символ в строке
- Упражнения
- Класс StringBuilder
- Конструкторы
- Синтаксический разбор строки
- Класс StringTokenizer
- Класс Stack
- Интерфейс Collection
- Интерфейс List
- Интерфейс Set
- Интерфейс SortedSet
- Интерфейс Queue
- Интерфейс BlockingQueue
- Интерфейс Deque
- Интерфейс Map
- Абстрактные классы-коллекции
- Интерфейс Iterator
- Классы, создающие списки
- Упражнение
- Классы, создающие отображения
- Связанные отображения
- Упорядоченные отображения
- Упражнение
- Классы, создающие множества
- Связанные множества
- Заключение
- Вопросы для самопроверки
- Получение случайных чисел
- Копирование массивов
- Использование системных приложений
- Splash Screen
- Заключение
- Вопросы для самопроверки
- Класс FontMetrics
- Преобразование координат
- Класс AffineTransform
- Вывод текста средствами Java 2D
- Упражнение
- Заключение
- Вопросы для самопроверки
- Класс Cursor
- Как создать свой курсор
- Класс Container
- События
- Текстовая метка Label
- События
- Кнопка Button
- События
- Кнопка выбора Checkbox
- События
- Класс CheckboxGroup
- События
- Строка ввода TextField
- События
- Поле ввода TextArea
- Линейка прокрутки Scrollbar
- События
- Контейнер Panel
- Контейнер Window
- События
- Контейнер Dialog
- Основные компоненты Swing
- Компонент JComponent
- Упражнение
- Счетчик JSpinner
- Упражнение
- Индикатор JProgressBar
- Дерево объектов JTree
- Построение меню средствами Swing
- Строка меню JMenuBar
- Меню JMenu
- Пункт меню JMenuItem
- Пункт меню JCheckBoxMenuItem
- Пункт меню JRadioButtonMenuItem
- Всплывающее меню JPopupMenu
- Панель выбора цвета JColorChooser
- Упражнение
- Окно выбора файла JFileChooser
- Фильтр файлов FileFilter
- События в документе
- Реализации документа
- Контроллер — редактор текста
- Курсор
- Реализации редактора
- Раскладка клавиатуры
- Область ввода JTextArea
- Модель данных таблицы
- Модель ячеек таблицы
- Визуализация ячеек таблицы
- Вопросы для самопроверки
- Контейнеры Swing
- Панель JPanel
- Панель с вкладками JTabbedPane
- Линейная панель Box
- Менеджер размещения BoxLayout
- Слоеная панель JLayeredPane
- Диалоговое окно JDialog
- Упражнение
- Событие ActionEvent
- Обработка действий мыши
- Событие изменения ChangeEvent
- Обработка действий с окном
- Несколько слушателей одного источника
- Вопросы для самопроверки
- Объемная рамка BevelBorder
- Закругленная объемная рамка SoftBevelBorder
- Врезанная рамка EtchedBorder
- Рамка с изображением MatteBorder
- Задание стандартного L&F
- Вопросы для самопроверки
- Сведения об окружении апплета
- Упражнение
- Изображение и звук в апплетах
- Слежение за процессом загрузки
- Заключение
- Вопросы для самопроверки
- Упражнения
- Звук
- Синтез и запись звука в Java
- Вопросы для самопроверки
- Порядок обработки исключений
- Упражнение
- Синхронизация подпроцессов
- Приоритеты подпроцессов
- Консольный ввод/вывод
- Форматированный вывод
- Класс Console
- Упражнения
- Файловый ввод/вывод
- Поток простых типов Java
- Кодировка UTF-8
- Класс DataOutputStream
- Прямой доступ к файлу
- Упражнение
- Каналы обмена информацией
- Печать в Java
- Печать средствами Java 2D
- Вопросы для самопроверки
- Работа в WWW
- Работа по протоколу TCP
- Упражнения
- Работа по протоколу UDP
- Компоненты JavaBeans
- Вопросы для самопроверки
- Интерфейс ServletResponse
- Цикл работы сервлета
- Работа по протоколу HTTP
- Интерфейс HttpServletRequest
- Сеанс связи с сервлетом
- Обращение к другим ресурсам
- Вопросы для самопроверки
- Язык записи выражений EL
- Обращение к компоненту JavaBean
- Обработка взаимодействующих тегов
- Обработка исключений в пользовательских тегах
- Обработка тегов средствами JSP
- Стандартные библиотеки тегов JSTL
- Библиотека xml
- Библиотека fmt
- Библиотека sql
- Библиотека fn
- Frameworks
- Вопросы для самопроверки
- Схема XML
- Встроенные простые типы XSD
- Вещественные числа
- Целые числа
- Строки символов
- Определение простых типов
- Сужение
- Описание элементов и их атрибутов
- Определение сложных типов
- Определение типа со сложным телом
- Другие языки описания схем
- Инструкции по обработке
- Анализ документов XML с помощью DOM API
- Другие DOM-парсеры
- Преобразование дерева объектов в XML
- Список литературы