Большинство людей знакомы с JavaBean свойствам компонентов. Просто добавьте установить и получить методы вашего класса и у вас есть для чтения и записи имущества определяется независимо от названия это после установки и получите. Иными словами, если ваш класс имеет методы именем SETNAME () и GetName (), в вашем классе JavaBean имущества компонента именем имя.
Есть два типа свойств компонентов: регулярные и проиндексированы. Индексированные свойства отличаются от регулярных свойств в том, что они имеют несколько значений, где каждое значение имеет доступ к индексу. Установить и получить методы регулярной собственности, таких как имя будет выглядеть следующим образом:
Регулярный собственности:
- public void setName(String name)
- public String getName()
Если имя индексироваться собственности, методы, выглядят следующим образом:
Индексированные собственности:
- public void setName(int index, String name)
- public String getName(int index)
- public void setName(String[] names)
- public String[] getName()
Фасоль может быть разработана для уведомления Вас о своих изменениях собственности. Вы можете зарегистрировать объект PropertyChangeListener с фасоль через addPropertyChangeListener () метод. Слушатель затем уведомил об изменениях через PropertyChangeEvent IndexedPropertyChangeEvent объекты или объекты. Собственности, которая генерирует PropertyChangeEvent когда ее изменения величина называется связанным собственности.
Класс PropertyChangeListener имеет один метод:
public void propertyChange(PropertyChangeEvent pce)
Если аргумент PropertyChange () имеет тип PropertyChangeEvent, как вы получите уведомление с IndexedPropertyChangeEvent? Ответ вытекает из того факта, что класс IndexedPropertyChangeEvent является подклассом PropertyChangeEvent. Таким образом, внутри вашего PropertyChange () вам потребуется экземпляром проверить, какой тип аргумента вы получаете:
|
Перед просмотром пример программы, которая использует IndexedPropertyChangeEvent, давайте сосредоточимся на том, как сообщить об изменении связанной индексироваться собственности. Следующий код докладов обновления имя индексироваться собственности показано ранее:
|
PropertyChangeSupport класс поддержки класс найден в пакете java.beans (пакет для компонента JavaBeans API). FireIndexedPropertyChange () методом докладов изменения связаны индексироваться собственности (в данном случае, название), на любую слушателей, которые были зарегистрированы через addPropertyChangeListener () метод.
Вот что полный пример выглядит следующим образом:
|
Класс определяет индексированные свойства имя и устанавливает имя на четырех позициях. Кроме того, регулярно связаны свойства названии присутствует также и множество. Слушатель уведомили для каждого вызова установить имя или название, а затем напечатать имя свойства, индекс (если необходимо), и стоимость. Затем класс получает имя на одну конкретную позицию и печатает его, перед печатью одного названия.
Запуск программы дает следующие результаты:
>java IndexedSample Property: name index: 1 value: John Property: name index: 2 value: Ed Property: name index: 3 value: Mary Property: name index: 4 value: Joan Property: title; value: Captain Name at 3 is: Mary Title is: Captain
Для получения дополнительной информации о поддержке IndexedPropertyChangeEvent в компоненте JavaBeans API, см.. Также см. в Java Tutorial.
Copyright (C) 2004-2005 Sun Microsystems, Inc
Все права защищены.