ITPub博客

首页 > 应用开发 > IT综合 > Beans Development Kit (BDK)分析(二) (转)

Beans Development Kit (BDK)分析(二) (转)

原创 IT综合 作者:amyz 时间:2007-08-15 15:12:32 0 删除 编辑
Beans Development Kit (BDK)分析(二) (转)[@more@] 

二.框架分析

  首先要对该源代码的框架作分析,先要得到源代码,该源代码的下载地址是(Java.sun.com/beans/">http://java.sun.com/beans/)。目录介绍:

l  beanbox目录:BeaBox的源程序,class文件,支持lib,以及执行文件和编译配置等帮助文件。

l  demo目录:用来演示JavaBean的一些例子源代码文件。

l  doc目录:关于BDK的文档和api手册。

l  jars目录:存放需要加载到工具条的JavaBean的jar文件。

l  lib目录:支持库方法跟踪的jar文件。

l  gnumakefile文件:编译配置文件。

l  infobus.jar文件:支持infobus的jar文件。

l  LICENSE.html文件:许可证。

l  Makefile文件:编译配置文件。

l  README.html文件:自述文件。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

文件结构

目录结构是以下所示:

源代码目录树:

├─sun

│  ├─beanbox

│  │  └─simpleresource

└─sunw

  ├─beanbox

  ├─demo

  │  ├─buttons

  │  ├─classfile

  │  ├─delegator

  │  ├─encapsulatedEvents

  │  ├─jelly

  │  ├─juggler

  │  ├─methodtracer

  │  ├─misc

  │  ├─molecule

  │  ├─quote

  │  ├─select

  │  ├─sort

  │  ├─test

  │  └─transitional

└─wrapper

类介绍

  为了理解的方便,首先对每一个类的大概功能作一个描述,先让大家有初步的了解。针对要讲解的是框架,所以不介绍demo目录下面的类的功能。

1.  sun.beanbox

l  AboutDialog.java    BeanBox的About Dialog

l  AppletClassGenerator 为Applet自动产生Applet类代码

l  AppletGenerator.java 由组合的Beans产生Applet的jar文件

l  BeanBox.java    作为JavaBean的容器

l  BeanBoxFrame.java   作为一个顶级的frame来容纳Beanbox,管理菜单和跟踪当前焦点的Bean

l  ClasSCOmpiler.java  执行编译Java源代码的类,形如sun.tools.javac.*的功能

l  CustomizerDialog.java  作为一个普通的组件编辑器,封装了一个Dialog

l  DoOnBean.java   在创建Bean的时候要执行的动作的接口

l  EditedAdaptor.java  属性编辑适配器,实现了PropertyChangeListener接口

l  ErrorDialog.java    抛出一个模态的错误Dialog,继承了MessageDialog

l  EventTargetDialog.java  用来为焦点Bean定制事件的对话框

l  FileExtension.java  用来过滤文件的类,实现了FilenameFilter接口

l  HookupManager.java  管理事件源bean和目标bean的目标方法之间的钩子,将为每一个钩子都产生一个类,作为适配器编译加载到ClaSSLoader

l  IBSupport.java    使用该类来支持infoBus机制来和bean通信

l  IndentedStream.java  这个工具类是用来产生源代码文件的

l  InputStreamProducer.java 该接口按需提供一个输入流

l  JarAccess.java    该类实现了一个简单的使用jar文件格式来创建文件的工具

l  JarEntrySource.java  用于请求创建jar文件

l  JarInfo.java    代表一个载入的jar文件,包含该文件的信息

l  JarLoader.java    读取jar文件的内容

l  MakeAppDlg.java    要求制作Applet的对话框

l  Manifest.java   代表jar文件的Manifest信息

l  MessageDialog.java  弹出提示信息的对话框类

l  MessageHeader.java  定义消息头部

l  objectInputStreamLoader.java  作为ObjectInputStream的子类,代理为存在的ClassLoader加载类

l  OurLabel.java   用一个字符串代表一个不可见的bean

l  PropertyCanvas.java  支持在一个Canvas上画出一个属性值

l  PropertyDialog.java  用一般的编辑器来持属性编辑器

l  PropertyHookupManager.java  用来管理属性之间的钩子,以便于一个对象上属性的变化能够传递给和它相关的属性

l  PropertyNameDialog.java  属性对话框用来查找一个给定的源对象的属性

l  PropertySelector.java  用来支持属性编辑器的标签选择

l  PropertySheet.java  属性编辑表格,列出了可以编辑的所有属性

l  PropertyText.java  用来支持属性编辑器的文本输入

l  Report.java    从一个给定的Bean类提取内部信息的报告

l  SimpleClassLoader.java  继承了ClassLoader,被JarLoader用来载入类和资源

l  StartFrame.java    在BeanBox开始的时候用来显示一个欢迎信息

l  Timer.java  工具类,用于内部的时间操作

l  ToolBox.java  显示可用于BeanBox的JavaBean的图表和ID串

l  WindowCloser.java  工具类,用于捕获目标窗口的关闭事件

l  Wrapper.java  用于跟踪在设计窗口的每个Bean在BeanBox中的相关状态

l  WrapperEventInfo.java  事件监听器的钩子信息

l  WrapperPropertyEventInfo.java  继承了WrapperEventInfo类,用于当连接到一个具体的属性

2.  sun.beanbox.simpleresource

l  Handler.java    继承了URLStreamHandler类,用于资源的请求

l  SimpleResourceConnection.java  继承了URLConnection类,用于资源的连接和获取

3.  sunw.beanbox

l  AppletSupport.java  在产生的Applet中,需要支持Applet的实例化

l  PropertyHookup.java  管理属性间的钩子信息,以便于属性变化能够通知相关的属性

4.  sunw.wrapper

l  BeanWrapper.java  继承了Applet类,是为了支持那些本身就不是Applet的Bean,以便于它们可以直接在HTML文档中显示

基本框架

  我针对BDK的框架的理解,划出了一下结构图:

  其程序运行界面如下:

2003-6-2956190.png" o:title="1">


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-958373/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7895790