Java教材课件15JavaBean编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:46 大小:190KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java教材课件15JavaBean编程.ppt

Java教材课件15JavaBean编程.ppt

预览

免费试读已结束,剩余 36 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第15章JavaBeans编程15.1JavaBeans简介15.1.1JavaBeans概述JavaBeans传统的应用在于可视化的领域,如AWT下的应用,表示简单的GUI,如按钮、文本框等,也可以是含有计算、数据访问功能等业务逻辑的不可见JavaBeans。自从JSP诞生后,JavaBeans更多的应用在了非可视化领域,在服务器端应用方面表现出越来越强的生命力。JavaBeans就是一种组件。(组件是指一种包装过的软件数据,它们拥有标准化的接口,而且可在多个应用程中复用。)JavaBeans的组件模型包含组件和容器两个基本要素。作为一种典型的组件模型,JavaBeans有属性、方法、事件、持久性、内省和定制几个方面的特征。1、属性事件一般表示程序中组件到达了某种状态。JavaBeans通过传递事件在Bean之间通信,一个Bean用一个事件告诉另一个Bean采取一个动作或告诉其状态发生了改变。一旦Bean的属性显示出来,就可以在设计阶段进行定制,用户可以改变Bean的外观和行为。用户也可以通过使用属性编辑器或特别的、复杂的Bean定制器,对Bean进行定制。4、持久性5、内省15.1.3JavaBeansAPI应用简介2、BeanInfo接口3、PropertyChangeListener接口其中:addPropertyChangeListener()方法把一个新的监听对象添加到表中removePropertyChangeListener()方法从表中移去一个监听对象firePropertyChange()方法。可以把PropertyChangeEvent对象发送给感兴趣的监听者4、VetoableChangeListener接口限制属性也支持单个属性的事件监听方法,可以用下面的方法:publicvoidaddNameListener(VetoableChangeListenerl);publicvoidremoveNameListener(VetoableChangeListenerl);5、PropertyEditor接口6、Customizer接口例如,下面是一个“按钮”Bean的用户化器的实现:15.2JavaBeans的组件构成//例15.1,UserBean.javaimportjava.io.*;publicclassUserBeanimplementsSerializable{privateintid;privateStringname;publicUserBean(){//无参构造方法}//获取方法和设置方法publicvoidsetId(inti){id=i;}publicintgetId(){returnid;}publicvoidsetName(Strings){name=s;}publicStringgetName(){returnname;}//定义其可产生的事件,并增加add,remove方法}〖例15.2〗含有绑定属性的简单Bean:如下的SimpleBean,含有一个标签,当标签的内容被更改时,会通知使用该Bean的对象作出反映。源程序如下://含有绑定属性的简单Beanimportjava.awt.*;importjavax.swing.*;importjava.beans.*;publicclassSimpleBeanextendsJPanelimplementsjava.io.Serializable{privateStringsample="Sample";//绑定属性privateJButtonlb;PropertyChangeSupport(this);publicSimpleBean(){this.setLayout(newFlowLayout());lb=newJButton(sample);this.add(lb);}publicStringgetSample(){returnsample;}publicvoidsetSample(Strings){Stringold=s;sample=s;lb.setText(s);//绑定属性值发生变化后,点火属性改变事件pc.firePropertyChange("sample",old,s);}//Bean的使用者对象注册多路广播事件听众的接口publicvoidaddPropertyChangeListener(PropertyChangeListenerp){pc.addPropertyChangeListener(p);}//Bean的使用者对象撤消多路广播事件听众的接口publicvoidre