詳解java中的PropertyChangeSupport與PropertyChangeListener
詳解java中的PropertyChangeSupport與PropertyChangeListener
java中的PropertyChangeSupport與PropertyChangeListener配合使用能夠實現(xiàn),綁定屬性會在屬性值發(fā)生變化時,通知所有相關的監(jiān)聽器。
javaBean:
package com.wang.test.property;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class TestBean {
protected final PropertyChangeSupport support = new PropertyChangeSupport(this);
private String str;
public String getStr() {
return str;
}
public void setStr(String str) {
support.firePropertyChange("str", this.str, str);
this.str = str;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
support.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
support.removePropertyChangeListener(listener);
}
}
client:
package com.wang.test.property;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
public class PropertyChangeSupportTest {
public static void main(String[] args) {
TestBean test = new TestBean();
test.setStr("ddddd");
test.addPropertyChangeListener(new PropertyChangeListener1());
test.setStr("yyyy");
//test.addPropertyChangeListener(new PropertyChangeListener2());
//test.setStr("hhhhhhf");
}
public static class PropertyChangeListener1 implements PropertyChangeListener{
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println( "1: " + evt.getPropertyName() + " " + evt.getNewValue() + " " + evt.getOldValue());
}
}
public static class PropertyChangeListener2 implements PropertyChangeListener{
@Override
public void propertyChange(PropertyChangeEvent evt) {
System.out.println( "2: " + evt.getPropertyName() + " " + evt.getNewValue() + " " + evt.getOldValue());
}
}
}
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Python如何使用@property @x.setter及@x.deleter
這篇文章主要介紹了Python如何使用@property @x.setter及@x.deleter,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05
使用FeignClient進行微服務交互方式(微服務接口互相調用)
這篇文章主要介紹了使用FeignClient進行微服務交互方式(微服務接口互相調用),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Maven profile實現(xiàn)不同環(huán)境的配置管理實踐
這篇文章主要介紹了Maven profile實現(xiàn)不同環(huán)境的配置管理實踐,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
Springboot @Configuration @bean注解作用解析
這篇文章主要介紹了springboot @Configuration @bean注解作用解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-02-02
springboot整合Nginx實現(xiàn)負載均衡反向代理的方法詳解
這篇文章主要給大家介紹了關于springboot整合Nginx實現(xiàn)負載均衡反向代理的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01

