一般的做法如下:
1.创建一个类PropertyChangeAware,,在其中创建成员变量changeSupport并初始化这个成员变量,它可以记录下其他类成员变量的变化
2.将需要监听的类继承于PropertyChangeAware,这样这个类就含有的这个changeSupport
3.写成员变量的set方法,将值的变化记录在changeSupoort中。
3.对需要监听类添加监听器,实际在向changeSupoort添加监听器,并且实现propertyChange方法。这样每当成员变量调用set方法时,changeSupoort就会记录下来,并且执行propertyChange方法
- 这是PropertyChangeAware类
package edu.wang.af;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class PropertyChangeAware {
protected PropertyChangeSupport changeSupport=new PropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener listener) {
changeSupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
changeSupport.removePropertyChangeListener(listener);
}
}
- 这是Perosn类,测试一下监听的效果
package edu.wang.af;
public class Person extends PropertyChangeAware{
private String name;