Beans Development Kit (BDK)分析(三)

类别:Java 点击:0 评论:0 推荐:
  三.模块介绍

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

启动过程

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

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

 

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

 

1.         BeanBoxFrame的初始化:

BeanBoxFrame的界面如下:

 

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

 

2.         ToolBox的初始化

ToolBox的界面如下:

 

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

    if (! BeanBoxFrame.getQuickStart()) {

        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方法的流程图:

 

本文地址:http://com.8s8s.com/it/it17775.htm