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 持久化 #### 知识点概览 1. **JavaBean 的概念与作用** 2. **JavaBean 持久化的意义** 3. **实现 JavaBean 持久化的途径** 4. **JavaBean 的序列化机制** 5. **JavaBean 的非持久化属性处理** 6. **...
JavaBean是一种基于Java的组件模型,它主要用于封装数据和业务逻辑,便于在Java应用程序中重用。...通过这个用户注册示例,我们可以学习如何在实际项目中运用JavaBean,同时掌握用户输入验证和数据持久化等关键技能。
【标题】"jsp+javabean 用户登录模块"是一个基于Web开发的技术组合,主要用于构建一个基本的用户身份验证系统。这个模块使用了MyEclipse作为集成开发环境,JSP(JavaServer Pages)作为动态网页技术,javabean作为...
JavaBean 实现用户登录界面 ...* JavaBean 可以实现Serializable 接口,方便了数据的序列化和反序列化。 使用 JavaBean 实现用户登录验证可以提高系统的安全性和可维护性,并且可以提高开发效率和代码的可读性。
在这个项目"JavaBean_Javabean增删改查_audiencevu9_"中,我们将深入探讨如何利用JavaBean来实现用户管理的增删改查功能。 首先,让我们理解JavaBean的基本特性: 1. **公共属性**:JavaBean通常包含一组公开的...
JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要目标是提供组件重用,简化开发过程,并促进软件的模块化。 标题"JAVABEAN"指的是这个项目或系统是基于...
用户通过浏览器发送请求,请求到达服务器后,在服务器端查找对应的网页,如果是首次请求, JSP 将生成 Servlet,然后通过 Servlet 引擎来执行 Servlet,把调用 JavaBean 的结果嵌入到页面中返回给用户的浏览器。...
JavaBean技术是Java Web开发中的一个重要组成部分,它主要用于封装数据和业务逻辑,使得代码更加模块化,便于重用和管理。在"WEB应用技术 JavaBean技术应用"的实验中,我们学习了如何利用JavaBean来处理用户登录的...
例如,可以使用JSP的内置动作`<jsp:useBean>`来实例化一个JavaBean,然后通过EL(Expression Language)或者JSTL(JavaServer Pages Standard Tag Library)来访问和显示JavaBean中的分页数据。 接下来,JavaBean...
- **序列化支持**:JavaBean可以通过实现`Serializable`接口来支持序列化,以便持久化对象状态。 2. **JavaBean在数据库操作中的应用** - **数据访问对象(DAO)模式**:JavaBean常被用于实现DAO层,提供对数据库...
- **业务逻辑**:除了基本的数据存储,JavaBean还可以包含一些简单的业务逻辑,如验证用户输入、格式化时间等。 - **交互**:在Web应用中,JavaBean可以作为请求和响应之间的数据载体,通过HTTP请求传递数据,或者...
此外,JavaBean还需要满足序列化,即实现Serializable接口,以便在网络中传输或持久化存储。 2. **JavaBean的特性**: - **封装性**:JavaBean通过私有变量和公共的getter与setter方法封装数据,确保数据安全。 -...
`<jsp:useBean>` 实例化或查找JavaBean,`<jsp:setProperty>` 设置属性值,`<jsp:getProperty>` 获取属性值。例如: ```jsp ``` 在现代Web开发中,虽然JavaBean的概念仍然适用,但常常被更高级的框架如...
2. 可视化设计:JavaBean支持可视化编辑,可以在IDE如Eclipse或NetBeans中的Bean容器中拖放操作,便于快速构建用户界面。 3. 自动化属性绑定:JavaBean的属性可以通过JavaBeans API自动绑定到GUI组件,简化编程。 4....
JavaBean 可以分为两种:一种是有用户界面(UI,User Interface)的 JavaBean;还有一种是没有用户界面的 JavaBean,主要负责处理事务(如数据运算,操纵数据库)。 JavaBean 的组成 JavaBean 由三部分组成: 1. ...
- **会话作用域 (session scope)**:JavaBean 在用户会话期间有效,直到用户关闭浏览器或超时。 - **应用程序作用域 (application scope)**:JavaBean 在整个 Web 应用程序的生命周期内有效。 #### 六、JavaBean ...
事件允许JavaBean与外部对象交互,例如响应用户输入或其他组件的状态改变。要使JavaBean支持事件,需要完成以下步骤: - **定义事件接口**:首先定义一个事件接口,该接口包含事件处理方法的签名。 - **注册事件...
JavaBean是一种遵循特定规范的Java类,它可以被其他Java应用程序或框架(如JavaServer Pages (JSP)、Enterprise JavaBeans (EJB))所使用,以实现代码的复用和模块化。以下是关于JavaBean组件程序设计的详细知识点:...