javabeans的属性分为四类:Simple属性,Index属性,Bound属性与Constrained属性
Simple属性是指表示一个伴随有一对getXXX()、setXXX()方法的变量。
Index属性表示一个数组值,使用与该属性相对应的setXXX()方法与getXXX()方法可以存取数组中某个元素的值
Bound属性是说,当该种属性的值发生变化时,必须通知其他的JavaBean组件对象。每次JavaBeans组件对象的属性值改变时,这个属性就引发一个PropertyChange事件(属性改变事件,在Java程序中,时间也被看做一个对象)。这个事件中封装了发生属性改变事件的属性名、属性的原值、属性变化后的新值。这个事件将被传递到其他的JavaBeans组件中,至于接收事件的JavaBeans组件对象应该做什么动作由其自己定义。
Constrained属性的性质是:当这个属性的值将要发生变化但是还没有发生变化的时候,与这个属性已经建立了某种监听关系的其他java对象可以否决属性值的改变。此Constrained类型的属性的事件监听者对象将会itongguo抛出PropertyVetoException异常事件来阻止该属性值的改变。
事件机制是指一种在“源对象”和“监听者对象”之间,某种状态发生变化时的消息传递机制。
事件从事件源到事件监听者的传递是通过对监听者对象的Java方法调用进行的。对每个明确的事件的发生,都必须相应地定义一个明确的Java方法。这些方法都集中在事件监听者接口中定义,而且这个接口必须要继承java.util.EventListener接口。也就是说,我们希望监听事件源发生的事情,我们必须首先定义一个事件监听者接口,定义各种各样的监听方法,以便接收事件源传递来的事件。具体实现了事件监听者接口中一些或全部方法的类就是事件监听者。伴随着事件的发生,事件源通常把事件及其相应的状态都封装在事件状态对象中,该对象必须继承自java.util.EventObject。事件状态对象作为参数被传递给应该响应该事件的监听者的方法中。
产生某种特定事件的事件源的特征是:遵循规定的编程格式为事件监听者定义注册方法,以便把监听者对象加入当前事件源的事件监听者队列中,并接受对指定事件监听者接口实例的引用。有时,事件监听者不能直接实现事件监听者接口,或者还有其它的额外动作时,就要在一个事件源与其它一个或多个事件监听者之间插入一个事件适配器类的实例对象,来建立它们之间的联系。实际上,事件适配器类就相当于一个过滤器,它可以把事件监听者对象不应该接收的事件或者是不能够接收的事件都过滤掉。
-事件状态对象
 与事件有关的状态信息一般封装在一个事件状态对象中,这种对象必须是java.util.EventObject类的子类。按设计习惯,这种事件状态对象类的名应以Event结尾。
-事件监听者接口与事件监听者
 由于JavaBeans的事件模型是基于Java的方法调用,因而需要一个定义并组织事件操纵方法的方式。在JavaBeans事件模型中,事件操纵方法都被定义在继承了java.util.EventListener接口的事件监听者接口中,按照一般的规律,事件监听者接口的命名要以Listener结尾。任何一个类如果想使用在事件监听者接口中定义的方法都必须扩展这个接口,并且实现其中定义的方法。
-事件监听者的注册与注销
 为了把各种可能的事件监听者注册到合适的事件源的监听者队列中,建立事件源与事件监听者间的事件流,事件源必须为事件监听者提供注册和注销的方法。
-事件适配器类
 事件适配器类是Java、JavaBeans事件模型中极其重要的一部分。在一些应用场合,事件从事件源到事件监听者之间的传递要通过事件适配器类来“转发”。例如:当事件源发出一个事件,而有几个事件监听者对象都可接受该事件,但只有指定的监听者对象可以做出反应时,就要在该事件源与事件监听者之间插入一个事件适配器类,由适配器类来指定事件应该是由哪些事件监听者来响应,再由它来转发事件。

JavaBeans 部分相关推荐

  1. jsp与java_JSP与JavaBeans

    JavaBeans简介 JavaBeans是一种符合一定标准的普通java类,需要满足下面几点: 1 类是public 2 属性私有 3 空的public构造方法 4 通过getter setter操 ...

  2. java beans 组件_如何利用JavaBeans在应用程序中创建组件?

    JavaBeans模块使开发人员能够创建称之为组件的软件单元(也就是我们熟知的beans).你可以把beans加载在更复杂的组件.Java小型应用程序(applets)或应用程序上.JavaBeans ...

  3. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 PO:持久对象 (persistent object),po(persiste ...

  4. JavaBeans四个作用域 范围

    application                     application可以作用于整个Web应用 <%@ page language="java" conten ...

  5. java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  6. java bean 监听_事件监听器?将JavaBeans接通起来的方法

    摘 要 JavaBeans 通 过 事 件( 封 装 着 与 所 发 生 情 况 有 关 的 数 据 的 对 象) 与 其 它 软 件 组 件 进 行 通 讯. 本 文 将 向 你 展 示 如 何 利 ...

  7. javabeans_(单元测试)JavaBeans的技巧

    javabeans 如果您正在编写Java代码,那么您至少要编写一些遵循JavaBean约定的类,即,具有带有公共getter和setter方法的私有属性的类,包含无参数的构造函数,可序列化,并且遵守 ...

  8. jxls使用excel公司_使用jXLS将Excel文件解析为JavaBeans

    jxls使用excel公司 这篇文章展示了如何使用jXLS将Excel文件解析为JavaBeans列表. 这是我编写的通用实用程序方法: /** * Parses an excel file into ...

  9. javabeans_膨胀的JavaBeans –不要在您的API中添加“ Getters”

    javabeans 我已经最近在博客的想法的JavaBeans™如何可以扩展以减少在Java世界中,这被广泛接受的公约设立的膨胀. 该文章在DZone上重新发布,并在这里获得了颇具争议的反馈(例如,大 ...

  10. (单元测试)JavaBeans的技巧

    如果您正在编写Java代码,那么您至少要编写一些遵循JavaBean约定的类,即,具有带有公共getter和setter方法的私有属性的类,包含无参数的构造函数,可序列化,并且遵守Equals和Has ...

最新文章

  1. php 多进程 消息队列,[PHP] 多进程通信-消息队列使用
  2. python虚拟环境另类的搭建
  3. easyui---基础组件:window
  4. TypeError: ‘dict‘ object is not callable-已解决
  5. 客户关系管理理论 期末复习
  6. 知识图谱构建技术综述
  7. html word 页面视图,word页面视图视图和web视图的区别
  8. android系统性能优化工具,十条Android系统优化技巧, 让手机更流畅
  9. Hive 连接 secured ES 踩坑日记
  10. java 前置零_程序员面试必考题(二十二):Java中的前置条件和后置条件
  11. adb 进入 recovery adb 进入 bootloader
  12. Mac下彻底卸载node和npm
  13. windows下xampp安装
  14. 爬取2017年底最新中国全国五级行政区划代码省市区县乡镇村MySQL数据库
  15. 达索Abaqus 2022新功能介绍(三)
  16. java推送微信模板消息
  17. html怎么自动增加序号,css如何使用计数器给元素自动编号?
  18. 4_MySQL_聚合函数和条件查询
  19. No URLs will be polled as dynamic configuration sources警告处理
  20. Markdown图片居中、文字居中

热门文章

  1. 只有做到这三点,你的产品才可能成功
  2. ipone java编辑器,其实iPhone也可以变成免费的音乐编辑工具
  3. JS手机端touch事件计算滑动距离的方法
  4. python控制代码块逻辑关系_Python 编程中用代码缩进表示逻辑递进关系,通常用几个空格_学小易找答案...
  5. python绘制月亮_用Python画一个超级月亮
  6. 口袋妖怪letsgo服务器维护,《口袋妖怪lets go》固定交换系统攻略
  7. 工业级手持终端在性能
  8. 高中数学知识点归纳总结平面向量
  9. python datetime模块安装_Python datetime模块
  10. Python3 完全平方数