JavaBean用户化

原创 2004年10月05日 09:05:00

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

基于JavaBean,JSP实现登录并显示分页信息的小系统

不说废话,首先,建立要连接的数据库,我的数据库名称是collage,要显示的数据表是students,有六列,要学习并测试的可以自己建立数据库。 id:int name:varchar grad...
  • liyong199012
  • liyong199012
  • 2012年10月13日 11:34
  • 1707

用jsp+javabean实现用户注册和查看的功能

本文主要参考了,JSP+javabean循序渐进开发平台:winxp+tomcat4+mysql+javabean在实现在了用servlet注册还有登录以后,打算做一个注册页面首先创建一个表:user...
  • rkind
  • rkind
  • 2005年06月07日 15:15
  • 7594

一个简单的用户注册JavaBean

我在写这个JavaBean'的过程中遇到很多细节上的问题,相信很多JSP新手都遇到过 。 1、首先 在JSP中使用了 但是却找不到JavaBean。解决方法在 Eclipse的   J2E...
  • yue7603835
  • yue7603835
  • 2011年12月09日 09:35
  • 3842

JavaBean实例训练2:编写JavaBean,实现用户登录、注册。

javaBean实例训练2:编写JavaBean,实现用户登录、注册。 一、用户登录 准备工作: 1、在自己的数据库中填写好相应的数据表(图2-1) 我使用navicat连接postgresql 注...
  • qq_32902693
  • qq_32902693
  • 2016年03月23日 15:06
  • 1817

javaBean+jsp+mysql实现登录验证

最近做些小例子来复习,拿出来跟大家分享   源码展示: UserBean.java package test.bean; public class UserBean { //属性名称与...
  • myserverthepeople
  • myserverthepeople
  • 2012年09月15日 11:48
  • 11967

java日期处理bean

import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import...
  • huangxingchen123
  • huangxingchen123
  • 2016年09月26日 16:48
  • 546

泛型和javaBean的结合使用

 package xin.day2; import java.lang.reflect.Method; import java.util.ArrayList; public cla...
  • u010844189
  • u010844189
  • 2015年01月15日 15:15
  • 259

javabean作用域

jsp中定义javabean的作用域可以在用户会话注销后仍能够访问的是?(多选)a.pageb.sessionc.applicationd.request 首先了解JavaBean的生命周期,分别是p...
  • sdyy321
  • sdyy321
  • 2010年08月25日 22:50
  • 2270

一个javabean轻松实现对数据库的各种操作

1.调用实例 String prm1,prm2,prm3; ResultSet rst=null; prm1 = ...; prm2 = ...; prm3 = ...; querybean.se...
  • bimyboy
  • bimyboy
  • 2004年10月25日 09:20
  • 783

将用户在jsp表单输入的信息赋给JavaBean

将用户在jsp表单输入的信息赋给JavaBean
  • wangyanming123
  • wangyanming123
  • 2016年06月24日 16:48
  • 752
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaBean用户化
举报原因:
原因补充:

(最多只允许输入30个字)