清华面向对象程序设计:第12章.ppt_第1页
清华面向对象程序设计:第12章.ppt_第2页
清华面向对象程序设计:第12章.ppt_第3页
清华面向对象程序设计:第12章.ppt_第4页
清华面向对象程序设计:第12章.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第12章,JavaBean编程技术,12.1 JavaBean概述,JavaBean API为应用Java程序设计语言编写软件组件提供了可靠保证,这些组件可以通过可视化的应用程序构造工具方便地嵌入到Applet应用程序、Application应用程序或复合组件中,JavaBean组件又被简称为Bean。JavaBean是JDK1.1的核心概念,任何支持Java1.1的浏览器或工具都支持JavaBean。,JavaBean应该具有的特征,自检特征 属性特征 定制特征 事件特征 持久性特征 功能分解特征,自检特征,JavaBean可以通过下面两种途径进行自我检测: 在对JavaBean功能进行命名时,严格地遵循命名规范,又称为设计模式,通过名称就可以知道它的基本功能。 利用可视化的方式将每个JavaBean 属性、方法和事件的相关信息展示给用户,可以直接地观察到它们的状态。,属性特征,属性是JavaBean外观及行为特征的描述 用户可以在设计阶段对它进行定制。 对于每个JavaBean,可以通过软件构造工具进行检测并以可视化的方式提供给用户。,定制特征,在设计阶段可以利用属性编辑器或JavaBean定制器对其进行重新定制。,事件特征,JavaBean利用事件实现与其他JavaBean的沟通。 希望接收事件的JavaBean要对它所关注的事件引发者进行注册。 软件构造工具能够检查每个JavaBean,以便判定它能够引发哪些事件或能够处理哪些事件。,持久性特征,持久性使得JavaBean的状态可以被永久性地保存起来 修改了某个JavaBean的属性之后,一定要将其永久性地保存,以便日后使用时JavaBean将处于最新版本的状态。,功能分解特征,JavaBean的方法与Java的成员方法一样,不仅可以由其他的JavaBean调用,也可以由本地环境调用。 在默认情况下,JavaBean的成员方法都是public方法。 每个JavaBean都应该有独特的功能,这样才符合组件技术的设计宗旨。,12.2 JavaBean结构,JavaBean 类似于Java程序,是一个非常简单且严格遵守某种规则的类,每个JavaBean都有不同的功能。 JavaBean 属性、事件和方法是构成JavaBean的三大内部构件。 例:设置组件大小及背景颜色的JavaBean,一个最简单的JavaBean,import java.awt.*; import java.io.Serializable; public class SimpleBean extends Canvas implements Serializable public SimpleBean() setSize(60,40); setBackground(Color.red); ,1.JavaBean属性,描述了组件的静态特征,包括外观形状、颜色等 通过专用的方法对这些属性进行访问 按其作用分为4个类别: Simple(简单) Index(索引) Bound(关联)Constrained(约束)。,Simple(简单)属性,每个Simple型属性对应一个成员变量及一对用于获取或设置(get/set)的public成员方法,基本格式为: public get() public void set(),例:包含一个Simple型属性Color的JavaBean组件,import java.awt.*; import java.io.Serializable; public class SimpleBean extends Canvas implements Serializable private Color color = Color.green; /Simple型属性 public Color getColor() /获取color return color; ,public void setColor(Color newColor) /设置color color = newColor; repaint(); public void paint(Graphics g) /设置颜色并绘制一个用color颜色填充的矩形 g.setColor(color); g.fillRect(20, 5, 20, 30); public SimpleBean() /设置组件的大小及背景颜色 setSize(60,40); setBackground(Color.red); ,Index(索引)属性,由多个属性构成的成员变量数组 定义时需要有一对方括号,访问其中的每个属性时需要给出下标索引。 获取或设置这类属性有两种基本方式 获取或设置整个数组的内容; 获取或设置某个特定元素的内容.,定义Index属性的基本格式,(1)获取或设置整个数组的get/set定义格式: Public get() Public void set( value) (2)获取或设置数组中某个特定元素的get/set定义格式: public get(int index) public void set(int index, value),Bound(关联)属性,表示组件之间的关联特性。 当JavaBean组件的属性发生改变,要将这种变化通知给对此感兴趣的监听器。 一个包含Bound属性的JavaBean组件需要维护一个属性变化监听器列表。 将一个希望得到这个通告的组件或应用程序添加到监听器列表的过程被称为注册。,执行过程,当JavaBean组件的属性值发生了变化时 将激活一个PropertyChange事件 随即系统自动地创建一个PropertyChangeEvent类对象。 封装了属性名、属性的旧值,属性的新值。 将事件的发生通告给监听器列表中的每个监听者 各个监听者将自动地调用PropertyChange()成员方法做出响应,Constrained(约束),对JavaBean组件属性的改变加以限制。 当试图更改组件的属性时,JavaBean产生一个PropertyChange事件,描述了请求更改属性的内容,随后将其通告给所有注册的对象,如果某个对象表示反对,就不能实现对该属性的更改操作。,2JavaBean 方法,JavaBean组件的属性描述了组件的静态特征 JavaBean组件的方法表述组件的动态行为 在这些方法中,有用来实现获取属性值和设置属性值的;有用来响应事件的;还有一些供组件内部调用的。 供外部调用的方法应该具有public访问属性,它是组件之间或组件与应用程序之间相互交流信息的接口。 这些方法可以由其他的组件或应用程序直接地调用,也可以由事件激活。,3JavaBean事件,事件处理是JavaBean组件体系结构的核心 当事件发生时,将产生一个事件对象,并将这个对象作为参数传递给事件监听器,事件监听器再将它发送给事件处理器进行处理。,事件源是指产生事件的JavaBean组件 事件监听器是一个实现了相应的事件监听接口且被注册到接收事件的JavaBean组件的监听器类对象 事件处理器是监听器中用来处理具体事件的代码块,在Java程序中用监听器对象的成员方法实现。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论