JavaBean 101 16

在BeanBox中连接Bean

一旦Bean 正确地定义了一个关联属性,BeanBox就可以识别出来。这是因为关联属性可以把属性变化事件广播出去。对于该Bean来说,BeanBox包含了一个propertyChange接口项。对于所选择的已经定义了关联属性的Bean来说,PropertyChange接口项将会出现在Events菜单中。

  1. 在Bean的Edit菜单中选择Events。一旦选择了propertyChange,就把源Bean同监听Bean联系起来。
  2. 从源Bean延伸一条直线到监听Bean。出现一个EventTargetDialog 对话框。
  3. 选择相应的监听方法 (本例中为reportChange方法。)

实际上,当把源Bean中包含关联属性的propertyChange事件同监听Bean联系起来之后,BeanBox就生成了一个事件连接适配器类。该事件连接适配器类实现了PropertyChangeListener 接口,并生成了propertyChange方法的实现,该方法用来调用监听Bean的reportChange 方法。由于BeanBox生成了事件连接适配器类,该类完成了把源Bean同监听Bean联系起来的工作,这样监听Bean自己就不必实现PropertyChangeListener 接口了。

约束属性

约束属性也是一种关联属性,同时还加上了附加条件。对于约束属性来说,一个外部对象,无论是监听Bean还是源Bean自身,可以否决属性的变化。JavaBeans API提供了一个处理约束属性的事件机制,它类似于关联属性的事件机制。

要实现约束属性,你必须有:

  1. 定义了约束属性的源Bean。
  2. 实现VetoableChangeListener接口的监听对象。 
  3. 包含属性名,属性旧值和属性新值的PropertyChangeEvent对象。(注意这个对象与关联属性所使用的是同一个对象。)
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值