- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* ④约束属性:是指该属性受到某种约束,即任何监听器都可以“否决”所提出的改变,强迫其还原旧的设置。 ⒈要构建一个约束属性,Bean必须包含两个方法: public void addVetoableChangeListener(VetoableChangeListener listener); public void removeVetoableChangeListener(VetoableChangeListener listener); * ⒉在Bean中创建一个VetoableChangeSupport对象,管理那些约束属性监听器 private VetoableChangeSupport vcs=new VetoableChangeSupport(this); 利用vcs对象调用方addVetoableChangeListener和removeVetoableChangeListener增加或删除约束属性监听器。 * ⒊利用VetoableChangeSupport类的方法fireVetoableChange方法创建约束属性 ⒋如果所有可否决修改的监听器都没有抛出PropertyVetoException,就更新属性的值 5.实现VetoableChangeListener接口中的方法: public void vetoableChange(PropertyChangeEvent event) 如否决该属性值的变化,抛出异常 PropertyVetoException(String reason,PropertyChangeEvent event) * 设计学生Bean,将年龄属性设置为约束属性,当年龄小于20岁时,不能修改该属性值。 * 编写测试程序 * * JavaBean规范设计一种机制,专门用来存储Bean的信息。通过实现BeanInfo接口,定义一个对象来描述Bean, 通过BeanInfo接口来查找方法,识别Bean具有的特性。 ①BeanInfo类的命名:Bean的名字+BeanInfo 如:一个StudentBean,其对应BeanInfo为:StudentBeanBeanInfo ②不需要实现BeanInfo接口中所有的方法,只须继承SimpleBeanInfo 类 * ③实现BeanInfo接口中的方法:getPropertyDescriptors()、getMethodDescriptors( )、getEventSetDescriptors( ) 分别返回PropertyDescriptor[]、MethodDescriptor[]、EventSetDescriptor[]数组对象(每一组对象分别是对属性、方法、事件描述) ④用于描述Bean在可视化工具中的外观。 * 设计limitStudent类的BeanInfo类 * 将Bean打包成JAR文件 为了使bean能够在开发工具中使用,需要将bean以及它所使用到的类文件打包成一个JAR文件。 Bean的JAR文件需要一个manifest清单文件,说明档案中哪些文件是bean。 jar cvfm limitStudent.jar limitStudentBean.mf testjavabean/limitStudent.class 将Bean安装到组件托盘中 如:limitStudentBean.mf Manifest-Version:1.0 Name:testjavabean.limitStudent.class Java-Bean:True * 将上述生成的Bean:约束属性的Bean(limitStudent.java)和绑定属性的Bean(bindStudent.java)在另一应用程序中直接使用。 * 将jar添加到工程中 * Bean是什么? Bean属性与事件的命名模式要点 Bean属性的类型有那些? Beaninfo类使用要点 如何包装Bean? 默认构造函数 Vector() // capacity是Vector的默认容量大小。当由于增加数据导致容量增加时,每次容量会增加一倍。 Vector(int capacity) // capacity是Vector的默认容量大小,capacityIncrement是每次Vector容量增加时的增量值。 Vector(int cap
文档评论(0)