欢迎光临
我们一直在努力

JavaBean用户化-JSP教程,资料/其它

建站超值云服务器,限时71元/月

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

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

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);
}
… …

3.3.2 属性编辑器接口(propertyeditor interface)

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

public class moleculenameeditor extends java.beans.propertyeditorsupport {
public string[] gettags() {
string resule[]={
"hyaluronicacid","benzene","buckmisterfullerine",
"cyclohexane","ethane","water"};
return resule;}
}

上例中是为tags属性创建了属性编辑器,在构造工具内,可从下拉表格中选择moleculename的属性应是"hyaluronicaid"或是"water"。
3.3.3beaninfo接口

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

public class moleculebeaninfo extends simplebeaninfo {
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("moleculebeaninfo: unexpected exeption: "+ex);
return null;
}
}
}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » JavaBean用户化-JSP教程,资料/其它
分享到: 更多 (0)