这篇文章将为大家详细讲解有关PropertyChangeSupport与PropertyChangeListener在java中的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
java中的PropertyChangeSupport与PropertyChangeListener配合使用能够实现,绑定属性会在属性值发生变化时,通知所有相关的监听器。
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());
}
}
}
关于PropertyChangeSupport与PropertyChangeListener在java中的区别有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。