当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

JavaBeans 程序开辟从入门到精通教程3[Java编程]

赞助商链接



  本文“JavaBeans 程序开辟从入门到精通教程3[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

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 OurButtonCustomizer
extends 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);
}
... ...

属性编辑器接口(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) {
System.err.println("MoleculeBeansInfo: unexpected exeption: "+ex);
return null;
}
}
}

JavaBeans长期化

当一个JavaBeans在构造工具内被用户化,并与别的Beans成立衔接之后,它的全部状况都该当可被保存,下一次被load进构造工具内或在运行时,就该当是上一次改正完的信息.为了能做到这一点,要把Beans的某些字段的信息保存下来,在定义Beans时要使它实现java.io.Serializable接口.比方:

public class Button
implements java.io.Serializable {
}

实现了序列化接口的Beans中字段的信息将被自动保存.若不想保存某些字段的信息则可在这些字段前冠以transient或static关键字,transient和static变量的信息是不可被保存的.普通,一个Beans全部公开出来的属性都该当是被保存的,也可有挑选地保存内部状况. Beans开辟者在改正软件时,可以增添字段,移走对别的类的引用,改变一个字段的private/protected/public状况,这些都不影响类的存储构造关系.但是,当从类中删除一个字段,改变一个变量在类体系中的位置,把某个字段改成transient/static,或本来是transient/static,现改成别的特点时,都将惹起存储关系的改变.

JavaBeans的存储格局

JavaBeans组件被计划出来后,普通是以扩大名为jar的Zip格局文件存储,在jar中包含与JavaBeans有关的信息,并以MANIFEST文件指定此中的哪些类是JavaBeans.以jar文件存储的JavaBeans在网络中传送时极大地削减了数据的传输数目,并把JavaBeans运行时所需求的一些资源捆绑在一同,本章主要阐述了JavaBeans的一些内部特点及其通例计划办法,参考的是JavaBeans标准1.0A版本.随着世界各大ISV对JavaBeans越来越多的支持,标准在一些细节上还在不断演变,但基本框架不会再有大的变更.


  以上是“JavaBeans 程序开辟从入门到精通教程3[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .