PropertyChangeListener接口使用初探
来源:互联网 发布:程序员找bug搞笑图片 编辑:程序博客网 时间:2024/06/11 08:03
from http://vakinge.iteye.com/blog/441908
接口 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
0 0
- PropertyChangeListener接口使用初探
- PropertyChangeListener接口使用初探
- PropertyChangeListener接口使用初探
- PropertyChangeListener
- PropertyChangeListener
- 使用PropertyChangeSupport/PropertyChangeListener监控变量
- 接口初探
- Java 接口implements初探
- C# 接口初探
- 初探接口思想
- 接口自动化测试初探
- java的PropertyChangeListener
- 关于JavaBean的PropertyChangeListener
- 开发SAP接口程序初探
- 开发SAP接口程序初探
- Callable、Future、FutureTask接口初探
- layer使用使用初探
- php session使用初探
- 经纬财富:威海该怎么去做现货白银投资?
- 学习计划
- 【C++学习笔记】09_一维数组
- MYSQL维护-java.sql.SQLException: null, message server: "Host 'ora-rac2' is blocked because of many co
- linux设备驱动开发-高级字符设备操作poll
- PropertyChangeListener接口使用初探
- Kali Linux渗透测试实战 1.3
- 将jsp页面生成word、excel、pdf文档
- 读书笔记<Pro SharePoint 2013>三[跨场服务和分区支持]
- UNITY3D MAC版本破解
- android锁屏软件制作
- Android中px与dp
- 【源码】基于Android和蓝牙的单片机温度采集系统
- VMware虚拟机没有声音