Beans Development Kit (BDK)分析(三)

原创 2003年06月03日 22:23:00
 

.模块介绍

       BDK的主要模块分为:设计面板,工具栏,属性浏览器,跟踪器和工具类。前三者主要是界面的表示,工具类是一个包含封装,Jar文件加载,类编译,事件监听等等。

启动过程

       BDK的启动过程可以了解各个模块的启动顺序,和初始化过程,了解各项资源的配置,以及模块之间的配合。

       这是BeanBoxFrame的类图,由Jbuilder8自动产生的UML图。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 

       通过源代码分析,可以得到以下流程图:

 

1.         BeanBoxFrame的初始化:

BeanBoxFrame的界面如下:

 

       通过源代码分析,可以得到以下流程图:

 

2.         ToolBox的初始化

ToolBox的界面如下:

 

       通过源代码分析,可以得到工具条的初始化主要是以下代码来实现:

    if (! BeanBoxFrame.getQuickStart()) {<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

        Vector jarNames = getJarNames();   

        for (int i = 0; i < jarNames.size(); i++) {

            String name = (String)jarNames.elementAt(i);

       try {

                addBeansInJar(name);

            } catch (Throwable th) {

           System.err.println(name + ": jar load failed: " + th);

           th.printStackTrace();

            }

        }

    }

 

// Vector jarNames = getJarNames();

    private static Vector getJarNames() {

    File cwd = new File(System.getProperty("user.dir"));

    File pwd = new File(cwd.getParent());

    File jars = new File(pwd, "jars");

    if (! jars.isDirectory()) {

        System.err.println(jars+" is not a directory!!");

    }

    Vector result = new Vector();

    String names[];

    names = jars.list(new FileExtension(".jar"));

    for (int i=0; i<names.length; i++) {

        result.addElement(jars.getPath() + File.separatorChar + names[i]);

    }

    names = jars.list(new FileExtension(".JAR"));

    for (int i=0; i<names.length; i++) {

        result.addElement(jars.getPath() + File.separatorChar + names[i]);

    }

 

// addBeansInJar(name);

    synchronized void addBeansInJar(String jarFile) throws IOException {

    JarLoader.loadJarDoOnBean(jarFile, helper);

    doLayout();

    }

 

 

3.         BeanBox的初始化

通过源代码分析,可以得到以下流程图:

 

4.         PropertySheet的初始化

PropertySheet的界面如下:

 

       通过源代码分析,可以得到setTarget方法流程图:

 

Beans Development Kit (BDK)分析(五)

 四.BDK工具类从Jar文件的操作到ClassLoader,从Applet类的制作到Bean的Applet封装,从类的编译到辅助信息的显示,从Bean的封装到各种类型的属性编辑器,从封装事件信息到串...
  • copyright
  • copyright
  • 2003年06月06日 12:53
  • 915

Beans Development Kit (BDK)分析(六)

5.其它l         ObjectInputStreamLoader.java    作为ObjectInputStream的子类,代理为存在的ClassLoader加载类。主要用于加载基本类型...
  • copyright
  • copyright
  • 2003年06月06日 12:59
  • 940

Beans Development Kit (BDK)分析(一)

 Beans Development Kit (BDK)分析前言:       应该很多人都开发过JavaBean的组件,是否对它有一个比较完整地了解呢?是否知道Sun公司提供的这个BDK呢?是否羡慕...
  • copyright
  • copyright
  • 2003年06月02日 10:47
  • 1090

Beans Development Kit (BDK)分析(四)

 设计面板       主要介绍BeanBoxFrame提供的主要方法和功能。因为BeanBoxFrame是用了单态模式,所以使用了大量的静态成员变量和静态成员函数。这样的好处在于不需要通过传递引用来...
  • copyright
  • copyright
  • 2003年06月03日 22:04
  • 1612

Beans Development Kit (BDK)分析(二)

  二.框架分析       首先要对该源代码的框架作分析,先要得到源代码,该源代码的下载地址是(http://java.sun.com/beans/)。目录介绍:l         beanbox目...
  • copyright
  • copyright
  • 2003年06月02日 10:50
  • 1236

Android Native Development Kit (NDK)

1.  Introduction Android apps are typically written in Java, with its elegant object-oriented des...
  • wave_1102
  • wave_1102
  • 2014年09月07日 23:21
  • 1446

Java SE Development Kit的下载、安装及环境变量的配置

目前Java SEDevelopment Kit最新的版本为Java SE Development Kit 8u112(以下简称JDK)。下面将逐步介绍该版本Java SDK的下载、安装步骤及其环境变...
  • BinGISer
  • BinGISer
  • 2016年11月28日 11:11
  • 5045

Intel® DPDK: Data Plane Development Kit

intel dpdk技术论述: Intel DPDK的相关介绍无需多说,能接触到它的人自然知道,无法接触到的人知道了也没用,目前从因特网下载不到源码,因为据说DPDK尚处于“Early Ac...
  • stone548534
  • stone548534
  • 2013年12月19日 10:43
  • 5479

怎样安装Ruby development kit

windows下安装DevKit 六 4th, 2011 发表评论 | Trackback 超简单的办法 如果你是ruby刚入门,推荐这个方法。 http://rub...
  • legend_x
  • legend_x
  • 2013年09月10日 22:53
  • 1218

Android Open Accessory Development Kit

Android Open Accessory Development Kit In this document ADK ComponentsGetting Started with...
  • ultrapro
  • ultrapro
  • 2011年08月18日 11:40
  • 1040
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Beans Development Kit (BDK)分析(三)
举报原因:
原因补充:

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