|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在一个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范例) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |