设计面板
主要介绍BeanBoxFrame提供的主要方法和功能。因为BeanBoxFrame是用了单态模式,所以使用了大量的静态成员变量和静态成员函数。这样的好处在于不需要通过传递引用来影调用BeanBoxFrame的功能,而直接通过静态方法来执行,避免复杂调用中引用传递的错误。
l private boolean inBeanBox(Component c)用于判断一个Bean实例是否在BeanBox中
l public void actionPerformed(ActionEvent evt)操作菜单事件
l public void propertyChange( PropertyChangeEvent evt)处理属性变化中的designMode变化事件
l static void setCurrentComponent(Component focus)设置当前的组件
l public void run()内部线程,用于处理焦点Bean的变化
l private void doSetCurrentFocus(Component focus) 设置当前的焦点Bean
l public void setCustomizer(Customizer c)设置组件的属性浏览器
l public void layoutContainer(Container parent)配置容器的层管理器
l 对于ToolBox, TopBox, TopWrapper的set/get方法
接着介绍BeanBox,在BDK中,这个作为设计的容器。允许所有的Bean能够在BeanBox中可视化的操纵,可以直接使用相关联的属性浏览器进行属性的浏览和修改。
l public Wrapper getTopWrapper()获取顶层Wrapper也就使BeanBox
l public synchronized void updateMenuBar(MenuBar bar)根据当前的BeanBox和Bean设置菜单条
l private void addMenuItem(BeanBoxFrame frame, Menu m, MenuItem mi)添加菜单项
l private synchronized String serFileName(Object o)为串行化指定对象创建标示符
l private void serializeComponent()串行化组件到指定的文件,实现“serializeComponent”的菜单项
l private void makeApplet()实现“makeApplet”的菜单项
l private void load()实现“load”的菜单项
l private void writeObject(java.io.ObjectOutputStream oos) 用于支持串行化
l private void readObject(java.io.ObjectInputStream ois)用于支持串行化
l private void print()用于支持BeanBox内容的打印
l private void loadJar()实现“loadJar”的菜单项
l private void cut()支持剪贴板的cut操作
l private boolean copy()支持剪贴板的copy操作
l private void paste()支持剪贴板的paste操作






