先看PropertyChangeSupport类的官方文档解释:
This is a utility class that can be used by beans that support bound properties. You can use an instance of this class as a member field of your bean and delegate various work to it.
|
void addPropertyChangeListener(PropertyChangeListener listener);
void removePropertyChangerListener(PropertyChangerListener listener);
|
|
private PropertyChangeSupport listeners = new PropertyChangeSupport(this);
|
|
public void addPropertyChangeListener(PropertyChangeListener listener) {
listeners.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
listeners.removePropertyChangeListener(listener);
}
|
|
listeners.firePropertyChange("ourString", oldString, newString);
|
|
public void propertyChange(PropertyChangeEvent e)
|
|
e.getOldValue();
e.getNewValue();
|
|
void fireIndexedPropertyChange(String PropertyName,int index,Object oldValue,Object newValue)
|
4.实例代码
public class SomeBean {
private String property;
private PropertyChangeSupport changeSupport;
public void setProperty(String newValue) {
String oldValue = property;
property = newValue;
changeSupport.firePropertyChange("property", oldValue, newValue);
}
public void addPropertyChangeListener(PropertyChangeListener l) {
changeSupport.add(l);
}
public void removePropertyChangeListener(PropertyChangeListener l) {
changeSupport.remove(l);
}
}
参考文章:
http://www.javalobby.org/java/forums/t19476.htmlhttp://feelingsea.blog.hexun.com/7293978_d.html
JavaBean绑定属性与PropertyChangeSupport
本文介绍JavaBean中的绑定属性概念及其实现方法,重点讲解如何利用PropertyChangeSupport类来管理属性变更监听器,包括添加、移除监听器及触发属性变更事件。
154

被折叠的 条评论
为什么被折叠?



