JSP高级编程读书笔记

来源:互联网 发布:公务员考试模拟软件 编辑:程序博客网 时间:2024/05/17 02:02

JavaBeans简介:

软件开发的真正目的之一是利用在程序编码方面的投资 以便在同一公司或者不同公司的其他开发中重用程序编码 

JavaBeans描述了Java的软件组件模型,这模型被设计成使第三方厂家可以生成和销售能够集成到其他开发厂家或其他开发人员开发得软件产品得Java组件

每个JavaBeans组件都包含了一组属性、操作和事件处理器

若干个JavaBeans组件组合起来就可以生成设计者、开发者所需要的特定运行行为

JavaBeans组件存放于容器或工具库中,供开发者开发应用程序

JavaBeans可以表示为简单得GUI组件

JavaBeans的属性:

    
    按照属性得不同作用又细分为:Simple属性、Index属性、Bound属性、Constrained属性

    Simple属性:表示一个伴随有一对getXXX()、setXXX()方法得变量
        例:isX()、通常暗指“X”是一个布尔类型得属性

    Indexed属性:表示一个数组值,使用与该属性相对应得setXXX()方法和getXXX()方法可以存取数组中某个元素得数值

 
Bound属性:当该属性的值发生变化时,必须通知其它得JavaBeans组件对象。每次JavaBeans组件对象得属性值改变时,这种属性就引发一个PropertyChange事件(属性改变事件,在java程序中,事件也被看作是一个对象)这个事件中封装了发生属性改变事件得属性名、属性得原值、属性变化后得新值。这个事件将被传递到其他得JavaBeans组件中,至于接收事件得JavaBeans组件对象应该做什么动作由其自己定义
Constrained属性:当这个属性的值将要发生变化但是还没有发生变化的时候,于这个属性已经建立了某种监听关系得其他Java对象可以否决属性值的改变。
 

Java事件处理机制:


核心内容是:事件的发生与事件的处理相分离。某个组件发生了一些变化,则该组件只需要产生一个事件,而不用关心该事件如何被处理。事件机制在没有事情的时候则可以不做任何事情的等待,从而可以释放各种资源用于其它需要的程序


引用]事件总是和某个对象相关,即每个事件必须有一个事件源。比如,按纽按下事件必须和某个按钮相关,而绝对不会出现了一个按纽按下事件,但是没有任何按钮存在。

事件发生可能会被处理,也可能不会被处理。

事件处理机制必须表达和处理好这么几个东西:事件源,描述可能引起事件的对象的所有属性,包括在事件发生时发出通知。事件,描述和处理事件的所有信息。主体,负责对其关心的事件发生后的处理。事件监听,负责监听主体关心的事件源是否发生相关的事件,并在事件发生时将事件的信息传递给主体。
我需要通过某个动作(点击鼠标)来触发事件的发生,当我用鼠标点击某一事件源的时候,该事件源通知
根据事件处理机制的总体情况,Java从总体上采用了四个对象(类)来完成对事件的处理。

事件源类:描述事件发生源的基本属性和行为。比如,按钮是很多事件发生的事件源,Java构造按钮类来描述按钮的形状,颜色等等属性以及在屏幕上绘制按钮等动作,当然也包括按钮按下等相关事件发生本身。同时,在事件发生时,事件源类还负责发出事件发生的通知。该行为通过事件源查找自己的事件监听者队列,并将事件信息通知队列中的监听者来完成。同时,事件源还在得到有关监听者信息时负责维护自己的监听者队列。

事件类:描述某个事件的所有属性和相关动作。比如定义键盘事件类KeyEvent来描述键盘事件的所有信息,如键是否按下、是否释放、是否双击,以及相关键的信息,如键码,是否有组合键等等。

事件监听者类:也就是关注事件的主体类:当事件发生后,该主体负责进行相关的事件处理,同时,它还负责通知相关的事件源,自己关注它的特定的事件,以便事件源在事件发生时能够通知该主体。

事件监听者接口:事件发生后,事件源要将相关的信息通知对应的监听者。这要求必须在事件源和监听者之间定义一个标准的接口规范,以便完成这样的信息交换。监听者接口正是负责定义这样的接口规范。



事件模型概述

        事件事件源事件监听者的传递是通过对监听者对象的Java方法调用进行的。
        对每个明确的事件的发生,都必须相应地定义一个明确的Java方法。
原创粉丝点击