Программа настройки свойств объекта JavaBean

Программа настройки свойств - это окно диалога для изменения свойств JavaBean пользователем. Вы можете создавать собственные классы настройки свойств объектов JavaBean, добавляемых в визуальный редактор.

Класс настройки должен реализовывать интерфейс java.beans.Customizer и наследовать java.awt.Component. Чаще всего класс настройки представляет из себя контейнер, такой как java.awt.Panel или javax.swing.JPanel, содержащий управляющие элементы, позволяющие показывать и изменять отдельные свойства JavaBean. При запуске программы настройки свойств с панели инструментов она помещается в окно диалога с кнопками OK и Отмена.

Ей передается объект JavaBean, свойства которого требуется изменить, с помощью метода public void setObject(Object bean);. Т.к. объект передается по ссылке, все изменения вносятся непосредственно в него.

Интерфейс java.beans.Customizer также объявляет методы public void addPropertyChangeListener(PropertyChangeListener listener); и public void removePropertyChangeListener(PropertyChangeListener listener). Визуальный редактор добавляется в класс настройки в качестве подписчика событий. Для того чтобы обновить модель JavaBean в панели Эскиз после изменения его свойств, класс настройки посылает соответствующее событие всем своим подписчикам с помощью одного из методов firePropertyChange(....

При нажатии OK визуальный редактор определяет, какие изменения были сделаны программой настройки свойств, и обновляет исходный код Java. Для этого перед запуском программы настройки значения всех свойств сохраняются, а затем сравниваются с новыми. Если сравниваемые значения свойства различны (метод equals возвращает false), то это свойства считается измененным. Для определения аргумента, передаваемого set-методу свойства, создается редактор свойств в java.beans.PropertyDescriptor. Затем вызываются его методы public void setValue(Object) и public String getJavaInitializationString();. Аналогично, при нажатии кнопки Отмена, т.к. JavaBean уже изменен классом настройки, визуальный редактор определяет измененные свойства и восстанавливает их начальные значения.

Если программа настройки является оболочкой верхнего уровня и не требует размещения в окне диалога, например java.awt.Frame или javax.swing.JFrame, то визуальный редактор выполняет ее без дополнительных объектов. Такие программы настройки сами заботятся о наборе кнопок и визуальный редактор не может определить, приняты или отменены изменения при закрытии программы. Если изменения не приняты, программа настройки должна сама восстанавливать начальные значения свойств JavaBean. Для определения сделанных изменений визуальным редактором вызываются свойства верхнего уровня.

После создания программы настройки ее следует включить в описатель JavaBean класса BeanInfo:

public class MyClassBeanInfo extends SimpleBeanInfo {
    public BeanDescriptor getBeanDescriptor() {
        return new BeanDescriptor(MyClass.class,
MyCustomizer.class);
    }
}

(C) Copyright IBM Corporation 1999, 2004. Все права защищены.