Вступление
От переводчика
Благодарности

Часть 1. Основы Bean

1. Знакомство с JavaBeans
Преимущества компонентного программного обеспечения
Компонентные модели
Службы компонентной модели
Традиционные компонентные модели
Преимущества Java для компонентного программного обеспечения
Переносимость
Объектная ориентация
Пригодность для сети
Три В: Bean, Builder и Bridge
Краткая история Bean
Примеры Bean
Выводы
2. Ключевые технологии
Настройка свойств
Таблицы свойств
Настройщик
События
Иерархия класса событий
Иерархия приемника событий
Интроспекция
Устойчивость
Упаковка
Связь по сети
Загрузчики классов
Диспетчеры безопасности
RMI
Разъемы и URL
Выводы
3. Открытие ВеапВох
Знакомство с ВеапВох
Знакомство со связанными Bean
BeanBox
BridgeTester
ChangeReporter
ExplicitButton
EventMonitor
JDBC SELECT
JellyBean
Juggler
Molecule
OrangeButton
OurButton
QuoteMonitor
SorterBean
TickTock
TransitionalBean
Voter Bean
BlueBean
Друтие необходимые вам Bean
Размещение Bean в окне
Редактирование свойств Bean
Таблица свойств
Настройщики
Пересылка событий
Использование связанных свойств
Использование невидимых Bean
Сохранение и загрузка файлов
Создание апплета
Выводы
4. Создание простого Bean
Bean строки
Добавление свойств в Bean строки
Конструирование StringBeans
Изображения Bean
Тестирование Bean
Выполнение Bean
Упаковка Bean
Использование Bean
Выводы
Часть 2 Ключевые технологии

5. Чтение сигнатур на этапе выполнения
Пакет java.lang.reflect
Создание экземпляров классов по имени
Интерпретация модификаторов
Анализ и вызов методов
Анализ метода
Вызов отраженных методов
Конструирование объектов "на лету"
Перечисление полей класса
Обращение к массивам
Предотвращение нарушений безопасности
Выводы
Посылка событий и реагирование на них
Общее представление о делегированной модели события
Простой пример прохождения события
Образцы событий
Трехуровневые компоненты
Инфраструктура события
Объекты события
События AWT
Приемники событий
Классы адаптера
События низкого уровня (компонентные)
Компонентные события
События контейнера
События фокуса
События ввода
События мыши
События клавиатуры
События окна
События высокого уровня (семантические)
События действия
События настройки
События элемента
Текстовые события
Выводы
Сериализация объектов
Обеспечение сериализуемости Bean
Сериализуемый интерфейс
Сериализуемость графов
Нестационарные поля
Выполнение базовой сериализации
Класс ObjectOutputStream
Класс ObjectInputStream
Настройка сериализации
Методы readObject и writeObject
Интерфейс Extemalizable
Создание версий
Идентификатор (ID) версии
Проверка достоверности десериализованных объектов
Создание экземпляров сериализованных Bean
Выводы
Часть 3 Архитектура JavaBeans

8. Анализ Bean
Порождение Bean info с помощью Introspector
Идентификация атрибутов Bean из Bean info
Дополнительные Bean info
Пиктограммы
Дескрипторы признаков
Дескрипторы Bean
Дескрипторы набора событий
Дескрипторы свойств
Дескрипторы методов
Дескрипторы параметров
Создание пользовательских классов BeanInfo
Добавление пиктограммы в Bean
Настраиваемые методы
Настраиваемые свойства и события
Изменение пути поиска BeanInfo
Соглашения по присвоению имен, используемые в отражении низкого уровня
Соглашения по присвоению имен для свойств
Образцы событий
Соглашения по присвоению имен для методов
Выводы
9. Задание свойств Bean
Задание простых свойств
Логические свойства
Свойства "только для чтения" и "только для записи"
Управление связанными свойствами
Класс PropenyChangeSupport
Связывание свойства
Связывание в ВеапВох
Задание ограниченных свойств
Класс VetoableChangeSupport
Ограничение свойств в ВеапВох
Создание списков индексированных событий
10. Настройка Bean
Создание новых редакторов свойств
Использование строковых значений в редакторах свойств
Загрузка редакторов свойств в компоновщики
Регистрация редактора в диспетчере редактора свойства
Использование класса Beanlnfo
Изменение пути поиска редактора свойства
Использование изображаемых редакторов свойства
Использование редакторов свойств с тегами
Использование мастеров настройщика
Интерфейс настройщика
Настройщик FilledTextArea
Выводы
11. Создание URL Bean
Разработка Bean
Выбор класса
Выбор свойств
Поддержка конструкторов
Пользовательский интерфейс
Тестирование Bean
Файл утилиты make
Метод main()
Доводка Bean
Выбор дополнительных свойств
Действия с помощью методов
Реагирование на события
Запуск событий
Непрерывная перезагрузка
Вывод изображений на экран
Завершенная программа
Усовершенствование Bean
Bean Info
Присоединение Customizer
Расширение URLBean
Проектирование: классы, объекты, образцы и компоненты
Особенности
Выводы
Приложение А
Краткий справочник
Классы
BeanDescriptor
Bean
EventSetDescriptor
FeatureDescriptor
IndexedPtopertyDescriptor
Introspector
MeihodDescriptor
ParameterDescriptor
PtopertyChangeEvent
ProperyChangeSupport
PtopertyDescriptor
PropertyEditorManager
PtopertyEditorSupport
SimpleBeanInfo
VetoableChangeSupport
Интерфейсы
Beanlnfo
Customizer
PtopertyChangeListener
Property Editor
VetoableChangeListener
Visibility
Исключительные ситуации
IntrospectionException
PropertyVetoException
Приложение В
Дополнительные ресурсы
Web-сайты
JavaSoft
Cafe au Lait
Gamelan
JavaWorld
Сетевые конференции и списки рассылки
От автора
Глоссарий