<%@ page contentType="text/html; charset=gb2312"%> 利用JavaBeans在应用程序中创建组件
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
利用JavaBeans在应用程序中创建组件
     发布者: 发布时间:2007-02-25

  JavaBeans模块使开发人员能够创建称之为组件的软件单元(也就是我们熟知的beans).你可以把beans加载在更复杂的组件、Java小型应用程序(applets)或应用程序上。JavaBeans广泛应用于IDE应用程序,使你能够很容易地可视化组合组件并动态修改它的属性。

  Beans是动态的,允许你改变和定制它。在JavaBean Builder Tool里的设计模块中,你能利用 Bean的属性窗口来可视化定制和保存(持久)bean。你也可以从toolbox中选择一个bean,把它拖拽到窗体中,再修改它的外观和行为与定义它和其他Bean的交互关系,并把它和其他Bean组合到一个applet或应用程序、或新的Bean里面去。

  Beans在功能和用途上应用很广。比如说,以下项都用到了beans:

  ·图形化用户接口(GUI)

  ·非可视化beans,比如拼写检测器

  ·别的类型,比如applets 

  JavaBean规范

  一个JavaBean其实就是一个Java类。JavaBeans API规范书中针对它的方法和属性定义了一个简单的规范,你必须在Java类中用这些方法和属性,否则就不能成为一个JavaBean。Bean的特征(也就是属性、方法、事件)都应能被带有bean的应用程序发现,或者被IDE应用程序发现,比如IBM Eclispse或Intellij IDEA。这种发现过程被称之为内省(introspection)。

  Beans以以下二种方式支持内省(introspection):

  它们根据特定的规则也就是熟知的设计模式来命名特征。Java.bean.Introspector类通过检查设计模式来发现bean特征。Java.beans.Introspector类依赖核心的Java反射API。

  它们利用一个相关联的bean信息类来显式提供属性、方法和事件信息,这个类实现BeanInfo接口,它能显式的提供给那些应用程序创建工具(Builder Tool)要用到的特征。

  属性是bean的外观和行为的特征,你可以在设计的时候修改。Bean Builder工具通过内省(introspection)发现它的属性并提供给外部用于处理。Bean对外提供属性的操作,所以它们能在设计的时候来定制。定制有二种方式:一是通过使用属性编辑器,另外一个是通过使用功能更强大的bean定制器。

  Beans使用事件与其他beans进行通信。接受事件的bean(监听bean)和激活事件的bean(源bean)通过注册联系起来。Bean Builder工具能检测一个bean并判断哪个beans能激活事件(发送),哪个能处理事件(接收)。

  持久性(Persistence)确保beans能保存和恢复它们的状态。修改一个bean的属性后,你可以保存bean的状态并能在以后恢复到未改变时的状态。JavaBean体系结构利用Java对象序列化来支持持久性。Bean的方法和java的方法没有区别,你也可以从别的beans或者一个脚本环境中去调用这些方法。缺省情况下,所有public方法都是对外可调用的。

  为了确保一个java类成为JavaBean,有以下四个简单的也是必须的规范:

  ·这个类是可序列化的(能够持久保存也能恢复状态),也就是,它必须实现java.io.Serializable接口。

  ·这个类必须带有一个无参数的构造方法。

  ·这个类的属性必须通过使用get、set和其他按标准命名规范来命名的方法来操作:getProperty()和setProperty()用于非布尔属性,isProperty()用于布尔属性。这些方法称之为getters和setters

  ·这个类包含所有必须的事件处理方法。

  大部分JavaGUI工具包(AWT,Swing和SWT)的组件都使用JavaBeans规范。这样保证GUI的编辑器比如Eclipse Visual Editor或者别的Java IDE来维持组件的层次结构,并通过getters和setters来访问它们的属性。 

  JavaBeans事件和监听器

  一个事件集定义一种事件,包括它通信什么,需要产生什么和监听事件是什么。一个事件集由以下几部分组成:

  事件监听器接口

  这个接口定义一个或多个方法,这些方法必须通过一个希望接收这种事件的类来实现。这些方法通常需要一个或多个参数,包括事件对象。

  事件对象

  事件对象从事件源传到监听器。包括所有必须的参数,这些参数能被监听器得到,包括事件源的起点。所有事件都是源自java.util.EventObject类

  事件注册方法,包括add<Event>Listener() 和remove<Event>Listener(),允许一个组件管理所有已注册对这个特定事件感兴趣的组件。这个方法就一个参数,也就是对这个事件感兴趣的对象。这个对象必须实现<Event>监听器接口。

  Java.awt包提供许多预定义好的事件集,例如焦点事件、鼠标事件、鼠标移动事件、键盘事件等等。这些事件集都包含了<Event>监听器接口和事件对象。

  比如,我们用键盘事件为例。键盘事件集包括KeyListener接口(这个接口定义了keyPressed(),keyReleased()和keyTyped方法)与KeyEvent类。任何要产生键盘事件的组件都必须定义addKeyListener()和removeKeyListener()注册方法。我们可以注意到对于key事件的命名模版的规范:事件名Key出现在监听器接口、方法(可选)、事件对象和注册方法中。你可以使用相同的命名规范给你自己创建的所有事件集命名。

  预定义事件集(比如key事件集)通常对于你的开发需要已经足够了。然而,你也可以创建你自己定义的事件集,只要你想要。

  假如你想让你的一个组件产生事件,你必须定义事件集、事件对象、事件注册方法,这样别的已经注册对这个事件感兴趣的组件能够在事件激发后被通知到。

(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
新手入门:JAVA数据库基本操作指南
一组常用的弹出窗口用法总结
JavaScript中的字符串操作
来自Google的密码强度Javascript验证代码
冒泡算法的三种JavaScript表示
一种JavaScript的设计模式
 
最近评论:
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(9842)
        
你曾悄悄的来过!
wow gold,wow gold,wow gold,ffxi gil max(1749)
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(5488)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(3041)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(4216)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号