public class DemoPropertyChangeListener implements PropertyChangeListener {
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println("--------------------------------");
System.out.println(evt.getSource().getClass());
System.out.println(evt.getPropertyName());
System.out.println(evt.getOldValue());
System.out.println(evt.getNewValue());
}
}
public class DemoBean {
private String name;
private Integer id;
private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {
propertyChangeSupport.addPropertyChangeListener(propertyChangeListener);
}
public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) {
propertyChangeSupport.removePropertyChangeListener(propertyChangeListener);
}
public String getName() {
return name;
}
public void setName(String name) {
String oldName = this.name;
this.name = name;
propertyChangeSupport.firePropertyChange("name", oldName, this.name);
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
Integer oldId = this.id;
this.id = id;
propertyChangeSupport.firePropertyChange("id", oldId, this.id);
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
DemoBean demo = new DemoBean();
demo.setId(3);
demo.addPropertyChangeListener(new DemoPropertyChangeListener());
demo.setName("dennis test");
demo.setName("dennis finished test");
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7845854/viewspace-1035268/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7845854/viewspace-1035268/