public class PropertyChangeSupport
PropertyChangeSupport类的使用
原创
©著作权归作者所有:来自51CTO博客作者caoms的原创作品,谢绝转载,否则将追究法律责任
刚刚学习javabeans的知识,下面来写写PropetyChangeSupport类的使用
PropetyChangeSupport类是java.beans 包里的一个类,它的声明如下:
这是一个实用工具类,支持绑定 (bound) 属性的 bean 可以使用该类。可以使用此类的实例作为 bean 的成员字段,并将各种工作委托给它。 此类是可序列化的。在对它进行序列化时,它将保存(并恢复)本身可序列化的所有侦听器。在序列化期间,将跳过所有不可序列化的侦听器。
用法
当写一个javabean类的时候,想给类里的一个属性绑定一个事件,监听属性的变化的时候,就可以将这个功能交给PropertyChangeSupport类的一个实例来管理。举一个例子:
我们来写一个bean类
public class MyBean{
private String name = "caoms";
private PropetyChangeSupport support;//引入一个PropetyChangeSupport的实例
public void setName(String newname){
String oldname = this.name;
this.name = newname;
support.firePropertyChange("name", oldname, newname);
}
public String getName(){
return name;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
support.addPropertyChangeListener(listener);
}
public voif removePropertyChangeListener(PropertyChangeListener listener) {
support.removePropertyChangeListener(listener);
}
}
说明:
上面的bean类跟一股的bean没有什么本质上的区别,只是在bean中添加了一个PropetyChangeSupport类的实例,来管理bean中的name属性的变化。当在以后bean是使用过程中,当setName方法被调用时,name属性就会发生变化,从而set方法中的firePropertyChange方法也会被调用,来激发PropertyChange方法。注意propertyChange(PropertyChangeEvent e)方法是实现PropertyChangeListener接口的唯一方法,如果一个类要实现PropertyChangeListener接口,就要实现propertyChange方法,该方法能捕捉firePropertyChange方发报告的事件,即属性发生变化事件。firePropertyChange方法中传递的oldname和newname是属性类旧值和新值,可以通过propertyChange方法中参数PropertyChangeEvent类的getOldValue()和getNewValue()来获得,然后我们可以在这个方法中,添加自己想实现的一些功能了。
下面我们可以写一个应用上面的类了例子
public class UseMybean impleaments PropertyChangeListener
{
public static void main(String [] args)
{
private Mybean bean = new Mybean();
bean.setName("cmshung");
System.out.println("打印我的名字:"+bean.getName())
}
public void propertyChange(PropertyChangeEvent e)
{
if (e.getSource() == bean)
{
System.out.println("旧的名字:"+e.getOldValue().toString());
System.out.println("新的名字:"e+.getNewValue().toString());
}
}
}
这个例子在控制台中将输出:打印我的名字:cmshung;
旧的名字:caoms
新的名字:cmshung;
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
PropertyChangeSupport类的使用场景
http://zhangjunhd.blog.51cto.com/113473/36838/
PropertyChangeSuppor -
Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners
本文主要介绍如何使用PropertyChangeSupport类来支持javabean关联属性事件的触发。
java bean PropertyChangeSuppor PropertyChangeListen -
HibernateDaoSupport类的使用
HibernateDaoSupport import org.hibernate.Query; 2. import org.springframework.context.ApplicationConte
职场 Hibernate 休闲 HibernateDaoSupport -
模板类的使用
C++模版类的使用
c++ 模版类 -
枚举类的使用
在Java中,我们可以通过来定义常量。
java jvm 开发语言 枚举类 编译器 -
OC 类的使用
#import <F
界面 class nsstring #import -
Java定义类的使用 怎样使用java定义的类
四:如何使用一个 Java 类  
Java定义类的使用 java Test 构造方法 当前对象