- •Java Beans
- •План лекции
- •Объектный подход
- •Понятие компонента
- •Требования к разработке компонентов
- •Контейнеры и компоненты
- •Существующие компонентные модели
- •JavaBeans
- •Интроспекция
- •Компоненты JavaBeans
- •Достоинства JavaBeans
- •Требования к компоненту JavaBeans
- •Удивительное рядом
- •Свойства
- •Простые свойства
- •Бин с простым свойством
- •Работа с простыми свойствами
- •Индексированные свойства
- •Бин с индексированным свойством
- •Работа с индексированными свойствами
- •Связанные свойства
- •Бин со связанным свойством
- •Бин со связанным свойством
- •Работа со связанными свойствами
- •Контролируемые свойства
- •Бин с контролируемым свойством
- •Бин с контролируемым свойством
- •VetoChangeListener
- •Графические компоненты
- •Графический бин
- •Графический бин
- •Работа с графическим бином
- •Модель делегирования обработки событий
- •Модель делегирования обработки событий
- •Слушатели и источники
- •События JavaBeans
- •Работа с событиями
- •Работа с событиями
- •Работа с событиями
- •Работа с событиями
- •Результат работы приложения
- •Персистентнось
- •Упаковка в Jar
- •Добавление библиотек в палитру
- •Вложенные типы
- •План лекции
- •Синтаксически корректный код
- •Вложенные типы
- •Статические вложенные классы
- •Вложенные интерфейсы
- •Нестатические вложенные классы
- •Пример внутреннего класса
- •И ещё один пример
- •И его результат…
- •Локальные классы
- •Локальные классы
- •Анонимные классы
- •Пример анонимного класса
- •Спасибо за внимание!
- •Дополнительные источники
Результат работы приложения
41
Персистентнось
Способность объекта существовать во времени, переживая породивший его процесс
Для JavaBeans реализуется за счет сериализации
Все классы компонентов должны быть подготовлены к сериализации
Существуют механизмы сохранения состояния бинов в xml-формат
42
Упаковка в Jar
Класс компонента, вспомогательные классы, файлы помещаются в jar-архив
В файле манифеста при этом указывается дополнительная информация:
Name: beans/MyBean.class
Java-Bean: True
43
Добавление библиотек в палитру
44
Вложенные типы
© Составление, Будаев Д.С., Гаврилов А.В., 2013
Лекция 9.2
УНЦ «Инфоком» Самара
2013
План лекции
Понятие вложенного типа
Вложенные классы и интерфейсы
Внутренние классы
46
Синтаксически корректный код
class MyFirstClass {
public static void main(String[] args) { // ...
}
class MySecondClass { private int a, b;
public MySecondClass(int a, int b) { this.a = a;
this.b = b;
}
//...
}
}
47
Вложенные типы
Считаются частью внешнего типа, со всеми вытекающими правами
Позволяют представить тип в виде логически связанных структурных групп и контекстов
Простой и эффективный инструмент объединения семантики соотносимых объектов
48
Статические вложенные классы
Простейшая форма вложенного класса
Может использоваться любыми классами, обладающими соответствующими правами доступа
Классы, вложенные в интерфейсы, статичны по определению
class ClassA { int a = 10;
protected static class ClassB { int b = 15;
}
}
public class Test {
public static void main(String[] args) { ClassA.ClassB t = new ClassA.ClassB(); System.out.println(t.b);
}
}
49
Вложенные интерфейсы
Всегда статичны (модификатор static по умолчанию)
Доступ определяется доступом внешнего класса или интерфейса и модификаторами доступа
class ClassA {
public interface InterfaceB { //...
}
//...
public InterfaceB get() {
//...
}
}
public class Test {
public static void main(String[] args) { ClassA.InterfaceB t = (new ClassA()).get();
}
}
50