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在构造工具内被用户化,并与其它Bean建立连接之后,它的所有状态都应当可被保存,下一次被load进构造工具内或在运行时,就应当是上一次修改完的信息。
使用JSP、JavaBean和Servlet实现一个简单的留言板设计,包含用户管理和信息永久化保存。
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
该系统是对我们原有JAVA大作业进行的扩展,应用到持久化管理、模版管理和视图管理等一些模式。 需求规定 a. 系统功能:采购图书 b.系统性能 时间特性要求: 当50个用户同时访问时,等待的时间若在512M的网速下为2秒,...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
毕设-本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信...
采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,JavaBean...
基于javabean技术的超市办公自动化平台系统分统.doc 随着超市办公软件的普及以及人们对于高工作效率的追求,开发一个超市办公自动化平台势在必行。尽管目前市场上已经有很多成型并且技术相对成熟的办公软件系统,但...
在线课程管理系统本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库...
设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,JavaBean在本系统中主要担当配合Jsp以及...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信。
Servlet 用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转 DAO用于连接数据库及进行数据库的操作如:查询、删除、更改等 JavaBean用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等 ...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
这个系统允许教师录入、查询、修改和删除学生成绩信息,同时也能让学生查询自己的课程成绩,从而实现教学管理的数字化和网络化。 核心技术栈介绍 1. **JSP (JavaServer Pages)**: JSP是用于开发动态网页的技术,...
该系统采用了模块化设计,允许用户根据需求进行二次开发和定制。以下是关于该系统的详细介绍: ### 系统架构 NTsky新闻发布系统采用了前后端分离的架构设计,前端使用了React框架,后端使用了Spring Boot框架。...
这套系统采用了传统的MVC(模型-视图-控制器)架构,其中JavaBean负责数据模型的构建,Servlet用于处理业务逻辑和控制流程,而JSP则负责展示用户界面。通过这种分层的设计,系统实现了前后端的分离,使得代码更加...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...