博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PropertyChangeSupport的使用
阅读量:6852 次
发布时间:2019-06-26

本文共 1482 字,大约阅读时间需要 4 分钟。

  • 使用目的

  当你需要监听对象属性的变化时,可以使用PropertyChangeSupport类来管理监听器,可以在一些关联属性的场合使用。

  • 使用示例,以下为BetaConfig对象添加了管理属性监听器的权限  
public class BetaConfig implements Serializable{    private static final long serialVersionUID = 1L;    private int serverPort = 8012;            private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);            public void addPropertyChangeListener(final String propertyName,final PropertyChangeListener listener) {        changeSupport.addPropertyChangeListener(propertyName, listener);    }        public void removePropertyChangeListener(final PropertyChangeListener listener) {        changeSupport.removePropertyChangeListener(listener);    }        public int getServerPort() {        return serverPort;    }        public void setServerPort(int serverPort) {        //将属性的改变通知给监听,让监听器可以得知此改变        changeSupport.firePropertyChange("serverPort", this.serverPort, serverPort);        this.serverPort = serverPort;    } }
  • 现在对BetaConfig的serverPort属性监听其变化,用addPropertyChangeListener方法,进行监听添加声明
final BetaConfig config = new BetaConfig();config.addPropertyChangeListener("serverPort", new PropertyChangeListener() {            @Override  public void propertyChange(PropertyChangeEvent evt) {                    logger.info("{} {} update to {}",evt.getPropertyName(),evt.getOldValue(),evt.getNewValue());  }});

  添加完监听,再执行 config.setServerPort(8000),改变其serverPort的值,监听器的propertyChange方法跟随执行。

转载于:https://www.cnblogs.com/fightingcoding/p/6396283.html

你可能感兴趣的文章
Redis清理
查看>>
读书笔记—CLR via C#章节8-10
查看>>
洛谷 3804 【模板】后缀自动机
查看>>
子类复制父类的值
查看>>
NYOJ_44_子串和
查看>>
BZOJ4521:[CQOI2016]手机号码(数位DP)
查看>>
生成唯一编码
查看>>
C# Directory.GetFiles()获取文件时如果是根目录时有隐藏文件则报错的处理
查看>>
POJ 3320 (尺取法+Hash)
查看>>
名校公开课网站汇总
查看>>
CodeForces 620E New Year Tree
查看>>
Django 0.1
查看>>
11.扩展:信息检索技术
查看>>
SQL Server2008中删除重复记录
查看>>
CS184.1X 计算机图形学导论 作业0
查看>>
牛人博客
查看>>
Unique Binary Search Trees II
查看>>
CSS的基本语法
查看>>
设计模式(一)_单例模式
查看>>
对于新手而言,PHP开发选择什么开发工具,及PhpStorm的特性和Git集成要点
查看>>