欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Bean property change event listener,beanlistener,package cn.o

来源: javaer 分享于  点击 49913 次 点评:196

Bean property change event listener,beanlistener,package cn.o


package cn.outofmemory.snippets.core;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeSupport;public class BeanPropertyChangeEventListener {    public static void main(String[] args) throws Exception {        Bean bean = new Bean();        bean.addPropertyChangeListener(new MyPropertyChangeListener());        bean.setProperty1("newProperty1");        bean.setProperty2(123);        bean.setProperty1("newnewProperty1");        bean.setProperty2(234);    }    public static class MyPropertyChangeListener implements PropertyChangeListener {        // This method is called every time the property value is changed        public void propertyChange(PropertyChangeEvent evt) {            System.out.println("Name      = " + evt.getPropertyName());            System.out.println("Old Value = " + evt.getOldValue());            System.out.println("New Value = " + evt.getNewValue());            System.out.println("**********************************");        }    }    public static class Bean {        private PropertyChangeSupport pcs = new PropertyChangeSupport(this);        // Property property1        private String property1;        // Property property2        private int property2;        public String getProperty1() {            return property1;        }        public void setProperty1(String property1) {            pcs.firePropertyChange("property1", this.property1, property1);            this.property1 = property1;        }        public int getProperty2() {            return property2;        }        public void setProperty2(int property2) {            pcs.firePropertyChange("property2", this.property2, property2);            this.property2 = property2;        }        public void addPropertyChangeListener(PropertyChangeListener listener) {            pcs.addPropertyChangeListener(listener);        }    }}

输出:

<code style="color: black; word-wrap: normal;">Name      = property1Old Value = nullNew Value = newProperty1**********************************Name      = property2Old Value = 0New Value = 123**********************************Name      = property1Old Value = newProperty1New Value = newnewProperty1**********************************Name      = property2Old Value = 123New Value = 234**********************************</code>
相关栏目:

用户点评