快速业务通道

一个通用的连接池Bean - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
列中,事件响应者应做的动作由适配类决定。目前绝大多数的开发工具在生成代码时,事件处理都是通过适配类来进行的。

JavaBeans用户化

JavaBeans开发者可以给一个Beans添加用户化器(Customizer)、属性编辑器(PropertyEditor)和BeansInfo接口来描述一个Beans的内容,Beans的使用者可在构造环境中通过与Beans附带在一起的这些信息来用户化Beans的外观和应做的动作。一个Beans不必都有BeansCustomizer、PrpertyEditor和BeansInfo,根据实际情况,这些是可选的,当有些Beans较复杂时,就要提供这些信息,以Wizard的方式使Beans的使用者能够用户化一个Beans。有些简单的Beans可能这些信息都没有,则构造工具可使用自带的透视装置,透视出Beans的内容,并把信息显示到标准的属性表或事件表中供使用者用户化Beans,前几节提到的Beans的属性、方法和事件名要以一定的格式命名,主要的作用就是供开发工具对Beans进行透视。当然也是给程序员在手写程序中使用Beans提供方便,使他能观其名、知其意。

用户化器接口(Customizer Interface)

当一个Beans有了自己的用户化器时,在构造工具内就可展现出自己的属性表。在定义用户化器时必须要实现java.Beanss.Customizer接口。例如,下面是一个"按钮"Beans的用户化一器:

public class OurButtonCustomizerextends Panel implements Customizer { ... ... /*当实现象OurButtonCustomizer这样的常规属性表时, 一定要在其中实现addProperChangeListener 和removePropertyChangeListener,这样, 构造工具可用这些功能代码为属性事件添加监听者。*/ ... ... private PropertyChangeSupport changes=new PropertyChangeSupport(this); public void addPropertyChangeListener(PropertyChangeListener l) {  changes.addPropertyChangeListener(l);  public void removePropertyChangeListener(PropertyChangeListener l) {   changes.removePropertyChangeListener(l);  }... ...

JavaBeans程序开发从入门到精通(5)

时间:2008-05-07

属性编辑器接口(PropertyEditor Interface)

一个JavaBeans可提供PropertyEditor类,为指定的属性创建一个编辑器。这个类必须继承自java.Beanss.PropertyEditorSupport类。构造工具与手写代码的程序员不直接使用这个类,而是在下一小节的BeansInfo中实例化并调用这个类。例:

public class MoleculeNameEditor extends java.Beanss.PropertyEditorSupport { public String[] getTags() {  String resule[]={   "HyaluronicAcid","Benzene","buckmisterfullerine", "cyclohexane","ethane","water"};  return resule;}}

上例中是为Tags属性创建了属性编辑器,在构造工具内,可从下拉表格中选择MoleculeName的属性应是"HyaluronicAid"或是"water"。

BeansInfo接口

每个Beans类也可能有与之相关的BeansInfo类,在其中描述了这个Beans在构造工具内出现时的外观。BeansInfo中可定义属性、方法、事件,显示它们的名称,提供简单的帮助说明。 例如:

public class MoleculeBeansInfo extends SimpleBeansInfo { public PropertyDescriptor[] getPropertyDescriptors() {  try {   PropertyDescriptor pd=new PropertyDescriptor("moleculeName",Molecule.class);   /*通过pd引用了上一节的MoleculeNameEditor类,取得并返回moleculeName属性*/   pd.setPropertyEditorClass(MoleculeNameEditor.class);   PropertyDescriptor result[]={pd};   return result;  } catch(Exception ex) {   Sys

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号