快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

JavaBean 设置关联属性

在一个Bean中设置关联属性的基本步骤如下:

调入java.beans 包,以便访问该包中所定义的一些方便类。MyButton中的import语句的使用方式如下:

import java.beans.*;


实例化java.beans.PropertyChangeSupport类。

private PropertyChangeSupport changes = new
PropertyChangeSupport(this);

MyButton创建了一个名为changes的新对象,它是PropertyChangeSupport类的实例,变量changes保存的是监听对象的集合,一旦关联属性发生变化,就会通知到这些对象。该变量定义了两个支持的方式: addPropertyChangeListener和 removePropertyChangeListener,这两个方式提供了公共的接口,可以让感爱好的监听者对MyButton进行注册。


实现由PropertyChangeSupport 类定义的方式。
PropertyChangeSupport类包含了添加和移去监听对象的方式,尤其是PropertyChangeListener对象。AddPropertyChangeListener方式添加一个新的监听对象到表中,而removePropertyChangeListener方式则从表中移去一个监听对象。PropertyChangeSupport 类也包含第三个方式:firePropertyChange,该方式把PropertyChangeEvent对象发送给感爱好的监听者。MyButton包含的实现添加和移去监听者方式的代码如下:
注重:参数l 表示property change listener Bean,该Bean可以作为注册或者移去其爱好。

public void addPropertyChangeListener(
PropertyChangeListener l) {
changes.addPropertyChangeListener(l);
}public void removePropertyChangeListener(
PropertyChangeListener l) {
changes.removePropertyChangeListener(l);
}


修改Bean的关联属性的setter方式。
对于那些打算成为关联属性的属性,可以修改Bean的setter方式,以便包含当属性值变化时就发送事件的代码。MyButton在每一个设置新属性值的方式内调用firePropertyChange方式。例如,当一个应用程序或者用户改变了按钮的字体时,这个动作就执行了MyButton.setFont方式。因为firePropertyChange方式对于变化了的属性的新值和旧值都需要, setFont方式首先通过调用getFont方式获得旧值,之后设置新值,改变了原先的值之后,再调用changes.firePropertyChange方式通知感爱好的监听者。changes.firePropertyChange方式传递了三个参数:发生变化的属性名,属性的旧值,该属性的新值。

public void setFont(Font f) {
Font old = getFont();
super.setFont(f);
sizeToFit();
changes.firePropertyChange(
"font", old, f);
}

对于firePropertyChange方式来说,它完成了哪些事情?该方式把它的三个参数绑定到一个PropertyChangeEvent对象中。之后把PropertyChangeEvent对象作为参数,调用propertyChange方式。把PropertyChangeEvent对象传递给每个注册过的监听者。记住:propertyChange把属性的旧值和新值作为对象值对待。这一点很重要,假如你的属性值是个简朴类型,你就必须对该类型重新定义为对象,例如,一个简朴的整数类型,在调用firePropertyChange之前,就要转化为java.lang.Integer。
记住:对于关联属性来说,首先是属性值发生变化,之后才发送属性变化事件。





返回类别: 教程
上一教程: 一个用来访问http服务器的东西。功能类似于java.net中的那个。但要强。
下一教程: Java 在Client/Server 网络中的应用 (转)

您可以阅读与"JavaBean 设置关联属性"相关的教程:
· 在Struts中使用JavaBean和List(多行数据)类型属性
· JAVABEAN的属性
· 如何控制你的屏幕(SCREEN)对象属性
· Tomcat中设置远程debug方式
· 修改后可以发送附件、抄送、密送的JAVABEAN,吐血推荐~(JAVAMAIL范例)
    微笑服务 优质保证 索取样品