PropertyChangeSupport 类实现的监听器功能 ,它是java jdk自带的一个类,用于监听某个对象属性的改变来触发相应信息,具体看代码介绍

import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;class EventSource {private String name;/* * 在事件源的地方添加一个PropertyChangeSupport对象,间接地由它负责添加监听、激发事件 */  private PropertyChangeSupport listernts=new PropertyChangeSupport(this);  /** * 在事件源上添加监听,实际上是在PropertyChangeSupport对象上添加监听 */  public void addListner(PropertyChangeListener listern) {  listernts.addPropertyChangeListener(listern);  }    /** * 同上 */  public void removeListner(PropertyChangeListener listern) {  listernts.removePropertyChangeListener(listern);  }  public String getName() {  return name;  }  /** * 事件源发生变化时,也是通过PropertyChangeSupport对象把事件发送到监听者上的 */  public void setName(String name) {  this.name = name;  // 触发事件源,监听者得到触发变化listernts.firePropertyChange(null,null,getName());  }
}class  Monitor implements PropertyChangeListener{@Overridepublic void propertyChange(PropertyChangeEvent evt) {System.out.println("事件源 发生变化,请做相应处理!");}
}public class TestPropertyChangeSupport {public static void main(String[] args) {EventSource eventSource = new EventSource();Monitor monitor = new Monitor();//在事件源上添加监听,发生变化时就会调用propertyChange方法
        eventSource.addListner(monitor);eventSource.setName("更改name属性值");}
}

 打印结果:   事件源 发生变化,请做相应处理!

转载于:https://www.cnblogs.com/myseries/p/8954738.html

PropertyChangeSupport 监听器模式的应用相关推荐

  1. java中的监听器模式

    java中的监听器模式 监听器模式的角色 过程 EventObject EventListener 例子1 监听按钮的点击事件 事件源 event source: Button 事件对象 event ...

  2. 设计模式之监听器模式

    事件处理模型: 组件(事件源)不处理自己的事件,而是将事件处理托付给外部的处理实体(监听器, 这样的事件处理模型称为事件的 授权处理模型. 不同的事件,能够交由不同类型的监听器去处理 事件源: 提供订 ...

  3. java监听器模式使用场景_常用监听器及其应用场景

    常用监听器举例,及应用场景分析: 已用过的有动作监听器,鼠标监听器,鼠标移动监听器 1.MouseAdapter可以包括以下几个监听器的方法,因此,我们写的时候可以直接写这个 public abstr ...

  4. 观察者(observer)模式(二) —— 实现线程安全的监听器

    1. observer模式 VS 事件监听模式 之前有总结过Java的时间监听机制:java的事件监听 在上一篇博客中,也明确指出observer模式又叫 source - listener模式,即事 ...

  5. 观察者(observer)模式(一)

    1. 引子 1.1 不完美的实现方案 公司业务发展壮大,集群监控也逐渐走向自动化:上报集群重要指标,实时监控集群状态,异常时进行自动告警 老大说:你去写一个告警程序,集群状态异常时,以短信和电话的形式 ...

  6. 事件监听器 java_Java实现一个简单的事件监听器

    关于事件监听我们需要知道的一些基础知识. a)事件三要素(who when what): source --事件源 when--事件发生时间 message-- 事件主题消息,即希望通过事件传递出去的 ...

  7. java监听器的原理与实现

    监听器模型涉及以下三个对象,模型图如下: (1)事件:用户对组件的一个操作,称之为一个事件 (2)事件源:发生事件的组件就是事件源 (3)事件监听器(处理器):监听并负责处理事件的方法 执行顺序如下: ...

  8. 4.2.2异步请求高级模式

    4.2.2异步请求高级模式 有时候客户端响应对象中的数据比较简单,可能就只有一条数据,而且类型也是确定的.比如获取分区偏移量,客户端响应结果只有一条数据,类型为Long.我们可能希望从异步请求得到的结 ...

  9. 每日学习一个设计模式--观察者模式(发布-订阅模式)

    定义 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新.这种模式有时又称作发布-订阅模式.模型-视图模式,它 ...

  10. 《java与模式》中模式总结

    转自:http://hi.baidu.com/hannick/blog/item/e820d8947d51a541d1135e54.html 设计模式一览表 注:加*的为GoF的23种设计模式. 一. ...

最新文章

  1. 癌症治疗新曙光:AI助力科学家更好地观察人类活体细胞
  2. 不谈面试题,谈谈面试官喜欢见到的特质!
  3. 图像处理中的Mask是什么
  4. Linux xsync分发脚本完整内容
  5. QML基础类型之vector4d
  6. 深度学习入门篇(二)Lenet网络在caffe+QtCreator上部署应用
  7. C# WebBrowser 设置代理
  8. 备忘录 | 当我每晚闲暇时我在干什么(2)
  9. Cisco测试命令和TCP/IP连接故障处理
  10. mysql包导入之后idea仍然报错_IDEA连接MySQL报错怎么弄?
  11. jquery mobile 从一个html的page跳转到另一个html的page
  12. HDU 4893 Wow! Such Sequence!(2014年多校联合 第三场 G)(线段树)
  13. c语言switch结构计算利润,求助。。关于用switch编写简易计算器
  14. java编写一个测试类_java写一个类,并测试它
  15. 懒人脚本查看本机IP地址
  16. 基于IPS7LnkNet.Advanced的S7Watch 西门子PLC调试工具
  17. iphone 最具人气的论坛,网站,博客等
  18. 3.24虎牙直播一面
  19. html ifrme 选择器,html中iframe/css样式设置,id,class选择器的使用规则等学习2019.9.2 08:00...
  20. 如何爬取微博全部粉丝python_python 登录新浪微博爬取粉丝信息

热门文章

  1. SpringBoot 系列
  2. 传说中的Markov不过如此”
  3. http://www.duilib.cc
  4. 【慢慢学算法】:八进制(vector练习)
  5. servlet中通过getWriter()获取out返回给浏览器出现中文乱码问题
  6. 如何在Vue项目中使用vw实现移动端适配
  7. 2017.10.26-构建之法:现代软件工程-阅读笔记
  8. JavaScript相关技术学习
  9. 软件工程 speedsnail 冲刺8
  10. js-事件处理(重点)