在BeanBox中连接Bean
一旦Bean 正确地定义了一个关联属性,BeanBox就可以识别出来。这是因为关联属性可以把属性变化事件广播出去。对于该Bean来说,BeanBox包含了一个propertyChange接口项。对于所选择的已经定义了关联属性的Bean来说,PropertyChange接口项将会出现在Events菜单中。
- 在Bean的Edit菜单中选择Events。一旦选择了propertyChange,就把源Bean同监听Bean联系起来。
- 从源Bean延伸一条直线到监听Bean。出现一个EventTargetDialog 对话框。
- 选择相应的监听方法 (本例中为reportChange方法。)
实际上,当把源Bean中包含关联属性的propertyChange事件同监听Bean联系起来之后,BeanBox就生成了一个事件连接适配器类。该事件连接适配器类实现了PropertyChangeListener 接口,并生成了propertyChange方法的实现,该方法用来调用监听Bean的reportChange 方法。由于BeanBox生成了事件连接适配器类,该类完成了把源Bean同监听Bean联系起来的工作,这样监听Bean自己就不必实现PropertyChangeListener 接口了。
约束属性
约束属性也是一种关联属性,同时还加上了附加条件。对于约束属性来说,一个外部对象,无论是监听Bean还是源Bean自身,可以否决属性的变化。JavaBeans API提供了一个处理约束属性的事件机制,它类似于关联属性的事件机制。
要实现约束属性,你必须有:
- 定义了约束属性的源Bean。
- 实现VetoableChangeListener接口的监听对象。
- 包含属性名,属性旧值和属性新值的PropertyChangeEvent对象。(注意这个对象与关联属性所使用的是同一个对象。)