推荐一个开源免费java分布式开发框架: http://www.jeesuite.com/
接口 java.beans.PropertyChangeListener
顾名思义监听属性改变事件,最近做一些东西需要用到数据绑定相关东西,用到了这个接口。
这里做一个简单DEMO。
public class DemoBeans { private String demoName; PropertyChangeSupport listeners = new PropertyChangeSupport(this); public DemoBeans() { demoName = "initValue"; } public String getDemoName() { return demoName; } public void setDemoName(String demoName) { String oldValue = this.demoName; this.demoName = demoName; //发布监听事件 firePropertyChange("demoName", oldValue, demoName); } public void addPropertyChangeListener(PropertyChangeListener listener) { listeners.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener){ listeners.addPropertyChangeListener(listener); } /** * 触发属性改变的事件 */ protected void firePropertyChange(String prop, Object oldValue, Object newValue) { listeners.firePropertyChange(prop, oldValue, newValue); } }
测试类:
public class Main { /** * @param args */ public static void main(String[] args) { DemoBeans beans = new DemoBeans(); beans.addPropertyChangeListener(new PropertyChangeListener(){ public void propertyChange(PropertyChangeEvent evt) { System.out.println("OldValue:"+evt.getOldValue()); System.out.println("NewValue:"+evt.getNewValue()); System.out.println("tPropertyName:"+evt.getPropertyName()); }}); beans.setDemoName("test"); } }
运行结果:
OldValue:initValue
NewValue:test
tPropertyName:demoName
相关推荐
PropertyChangeListener
监听器实现了PropertyChangeListener接口并接受由JavaBean组件产生的PropertyChangeEvent对象,PropertyChangeEvent对象包括一个属性名字,旧的属性名字,以及每一个监听器可能访问的新属性值。 Bound属性的用法 在...
属性更改支持插件 一个 maven 插件,使用字节码编织向带注释的 bean 添加 PropertyChangeListener 支持。
主要介绍了详解java中的PropertyChangeSupport与PropertyChangeListener的相关资料,需要的朋友可以参考下
应用经典的MVC设计模式实现的计算器app。其中包括WindowListener,PropertyChangeListener,Keylistener,ActionListener这四类监听器的使用细节。
各种侦听器类型。如果文件被更改,则文件中存在的属性将被更改,以查看更改并在运行的应用程序中使用这些更改的值。此Java API允许您使用诸如PropertyChangeListener,FileChangeListener等的侦听器。
闲着没事,突然想起Java的观察者模式中有一个PropertyChangeSupport与PropertyChangeListener,于是就想看看用js能不能也实现一个,毕竟有时候js写的东西也需要一个观察者模式,于是就写了点东西,应该能派上用场。
import java.beans.PropertyChangeListener; import java.io.*; import java.io.IOException; import java.io.RandomAccessFile; import java.net.*; import java.nio.ByteBuffer; import java.nio.channels....