javabean是什么?规范写法及结构属性介绍( 三 )


3.4. 约束(Constrained)属性
Java Bean的属性如果改变时 , 相关的外部类对象首先要检查这个属性改变的合理性再决定是否接受这种改变 , 这样的JavaBean属性叫约束(Constrained)属性 。当约束属性的改变被拒绝时 , 改变约束属性的方法产生一个约束属性改变异常(PropertyVetoException) , 通过这个异常处理 , JavaBean约束属性还原回原来的值 , 并为这个还原操作发送一个新的属性修改通知 。
约束属性的改变可能会被拒绝 , 因此它的setXxx与一般其他JavaBean属性的setXxx也有所不同 。约束属性的写方法如下:
public void setXxx(xxxType newXxx)throws PropertyVetoException
四. Java Bean方法
4.1. 构造方法
Java Bean的构造方法与与之前的普通java类的构造方法意思是一样的 , 就是对JavaBean的属性及其方法进行初始化 , 即对所定义的属性及方法设一个初始值 , 构造方法名要和JavaBean的类名相同 。
4.2. 访问方法
在定义了Bean的属性 , 并通过构造方法将其初始化后 , 要让其他程序访问Bean的这些属性 , 就必须为其创建访问方法 。访问方法就是对组件中定义的属性的访问 , 包括读和写两种访问方式 。读就是一种用于取出Bean属性的值的取值函数 , 即getter;而写则是一种用于设置Bean属性的赋值函数 , 即setter 。以下列出的就是Bean属性访问方法的具体语法格式:
public void setPropertyName(PropertyTypevalue);//给属性赋值 , 即写方法
public PropertyType getPropertyName();//读取属性值 , 即读方法
4.3. 一般方法
除了对属性的访问方法外 , 还可以在Bean创建一般方法来实现对函数的调用 , 只要将Bean中的一般方法定义成公有的方法 , 就可以供其他程序调用 。
五. Java Bean事件
事件处理是JavaBeans体系结构的核心之一 。通过事件处理机制 , 可让一些组件作为事件源 , 发出可被描述环境或其他组件接收的事件 。这样 , 不同的组件就可在构造工具内组合在一起 , 组件之间通过事件的传递进行通信 , 构成一个应用 。从概念上讲 , 事件是一种在“源对象”和“监听者对象”之间某种状态发生变化的传递机制 。事件有许多不同的用途 , 例如在Windows系统中常要处理的鼠标事件、窗口边界改变事件、键盘事件等 。
5.1. 事件模型
Java Bean事件模型如图所示 , 事件源是一个JavaBean类对象 , 它把属性改变的时间对象传递给事件监听者 , 事件监听者负责事件的处理 。事件监听者必须在事件源注册 。
5.2. 事件状态对象
与事件发生有关的状态信息一般都封装在事件状态对象 (EventState Object) 中 , 这种对象是java.util.EventObject的子类 。按设计习惯 , 这种事件状态对象类的名应以Event结尾 。例如代码是一个鼠标移动事件实例 。
5.3. 事件监听者接口与事件监听者
由于Java事件模型是基于方法调用的 , 因此需要一个定义并组织事件操纵方法的方式 。JavaBeans中 , 事件操纵方法都被定义在
继承了java.util.EventListener类的事件监听者(EventListener)接口中 , 按规定 , EventListener接口的命名要以Listener结尾 。任何一个类如果想操纵在EventListener接口中 , 定义的方法都必须以实现这个接口方式进行 。这个类就是事件监听者 。例如如下代码:
//先定义了一个鼠标移动事件对象

推荐阅读