Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2" -> 146

Технологии профаммирования на Java 2 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 — М.: Бином-Пресс, 2003. — 560 c.
Скачать (прямая ссылка): tehprogrammjava22003.pdf
Предыдущая << 1 .. 140 141 142 143 144 145 < 146 > 147 148 149 150 151 152 .. 250 >> Следующая

42 } 43
44 } I/ конец класса LogoAnimator2
Рис. 6.39. Класс LogoAnimator2 со свойством animationDelay
Чтобы создать свойство animationDelay, мы определили методы setAnimation-Delay и getAnimationDelay. Чтение/запись свойства Bean-компонента определяется как пара методов set/get в следующем виде:
public void веЪИмяСвойства (ТипДанных значение) public void ТяпДанюос деЪИмяСвойства ( )
где ИмяСвойства в каждом случае замещается на реальное имя свойства. Эти методы часто называют «set-методом свойства» и «дог-методом свойства», соответственно.
Общая методическая рекомендация 6.5_
Чтение/запись свойства компонента JavaBean определяется парой методов set/get, в которой метод set ничего не возвращает (void) и принимает один параметр, а метод get возвращает тот же тип, что и соответствующий параметр метода set, и не принимает параметров. Свойства могут быть также только для чтения (иметь только метод get) или только для записи (иметь только метод set).
Общая методическая рекомендация 6.6_¦
Для свойства с именем ИмяСвойства соответствующей парой методов set/get по умолчанию будет. ъеХИмяСвойетва/^еЬИмяСвойства. Учтите, что первая буква ИмениСвойства в именах методов set /get является прописной.
Если свойство имеет тип данных boolean, пару методов set/get иногда определяют следующим образом:
public void 5вьИмяСвояства (boolean значение) public boolean і s Имя-Свойств a ( )
где имя метода get начинается со слова is, а не со слова get.
Когда интегрированная среда разработки просматривает Bean-компонент, она ищет методы пар set /get, которые представляют свойства (некоторые интегриро-
338 Глава 6
ванные среды разработки также выявляют свойства только для чтения и только для записи). Этот процесс называется интроспективным анализом (introspection). Если интегрированная среда разработки находит соответствующую пару методов set Iget в процессе интроспективного анализа, она представляет эту пару методов как свойство в своем пользовательском интерфейсе. Для первого объекта LogoAnimator пара методов
public void setBackground (Color с) public Color getBackground ( )
унаследованных от класса JPanel, дает возможность Forte отображать свойство background в окне Component Inspector для настройки. Обратите внимание, что в соответствии с соглашением по именованию для пары методов set I get в качестве первой буквы в имени свойства используется прописная буква, но представленное в окне Component Inspector свойство имеет первую строчную букву.
Общая методическая рекомендация 6.7_
Когда интегрированная среда разработки просматривает Веап-компо-нент, если она обнаруживает пару методов setiget, которая соответствует шаблону свойства JavaBean, данная пара методов представляется как свойство.
Напомним, что класс LogoAnimator2 должен быть сформирован как компонент JavaBean, загружаемый в Forte и другие инструментальные среды разработки. Откомпилируйте класс LogoAnimator2, а затем поместите его в JAR-файл, как было описано в предыдущем разделе. Теперь импортируйте класс Logo Animator 2 в Component Palette и поместите экземпляр класса LogoAnimator2 в окно Form или в окно Component Inspector. Свойство animationDelay теперь представлено в окне Component Inspector (рис. 6.40). Попробуйте изменить значение свойства, чтобы проверить его воздействие на скорость анимации (вы должны нажать клавишу Enter после изменения значения свойства, чтобы сохранить изменение свойства). Меньшие значения соответствуют более высокой скорости анимации, большие значения соответствуют меньшей скорости. Попробуйте ввести значение 1000, чтобы кадры анимации менялись с частотой в кадр в секунду.
«FJ lomponent Lotpectot (
?*- Nor...i3uai Compofiftnts - Щ BorderLeyoti
4*5*. , Tj
ацти ,.: ',J1 Ii

__-. ; A
Opo».»
baa,
0

• Швед и Plan
Рис. 6.40. Bean-компонент LogoAnimator2 со свойством animationDelay в панели Component Inspector Forte
Компонентная модель JavaBeans
339
6.6. Связанные свойства
Связанное свойство заставляет компонент JavaBean, которому принадлежит данное свойство, уведомлять другие объекты об изменении значения связанного свойства. Это уведомление реализуется с помощью стандартных функций обработки событий Java — Bean-компонент уведомляет свои зарегистрированные слушатели PropertyChangeListener при изменении значения связанного свойства. Для поддержки этой функциональной возможности пакет java.beans предоставляет интерфейс PropertyChangeListener, чтобы слушатели могли быть настроены для получения уведомлений об изменении значения свойства. Класс PropertyChange-Event предоставляет информацию слушателю PropertyChangeListener об изменении значения свойства, а класс PropertyChangeSupport предоставляет сервисы по регистрации слушателей и уведомлении (т.е. обслуживания списка слушателей и уведомления их при наступлении события).
Общая методическая рекомендация 6.8_
Связанное свойство заставляет объект, обладающий свойством, уведомлять другие объекты об изменении значения этого свойства.
В следующем примере создается новый компонент графического пользовательского интерфейса (SliderFieldPanel), который расширяет класс JPanel и включает один объект JSlider и один объект JTextField. Когда значение JSlider изменяется, наш новый компонент пользовательского интерфейса обновляет объект JTextField новым значением. Кроме того, когда новое значение вводится в поле JTextField, и пользователь нажимает клавишу Enter, позиция ползунка JSlider автоматически изменяется в соответствии с введенным значением. Наша цель при определении этого нового компонента — связать его с объектом анимации LogoAniniator2 для управления скоростью анимации. Когда значение SliderFieldPanel изменяется, мы хотели бы, чтобы менялась и скорость анимации. На рис. 6.41 представлен код класса SliderFieldPanel.
Предыдущая << 1 .. 140 141 142 143 144 145 < 146 > 147 148 149 150 151 152 .. 250 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100