分享
 
 
 

Beans Development Kit (BDK)分析(四)

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

设计面板

主要介绍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操作

l private synchronized Wrapper getConnection(Wrapper sourceWrapper)实现两个Bean的联系

l void doEventHookup(ActionEvent evt)从源到目标建立一个事件联系

l private Rectangle getLocalCoordinates(Component c)获取BeanBox中Bean的位置

l public void mousePressed(MouseEvent evt)支持鼠标选中事件

l public void mouseReleased(MouseEvent evt)支持鼠标释放事件

l public synchronized void mouseDragged(MouseEvent evt)支持鼠标拖动

l public synchronized void mouseMoved(MouseEvent evt)支持鼠标移动

l void doMenuItem(ActionEvent evt)该方法被menuWorkerThread来调用处理相应的菜单事件

l public void doInsert该方法用于插入一个Bean实例到BeanBox中

l public synchronized void queueMenuItem(ActionEvent evt)用于在处理菜单的线程中调度菜单项同步的执行

l public void run()帮助最小化AWT事件线程的任务,防止死锁

l void startMove(Wrapper child, int x, int y)设置开始移动的位置

l Rectangle getMoveBox(int mx, int my)绘制移动的Bean

l void finishMove(int mx, int my)设置停止移动的位置

l void startResize(Wrapper child, int x, int y, Cursor cursor)设置大小的改变

l Rectangle getResizeBox(int mx, int my)获取在改变大小的Bean

l void finishResize(int mx, int my)完成大小的变化

l void resetViewMenu()设置菜单显示的状态

工具栏

ToolBox继承了Frame类,其主要实现是通过ToolBoxPanel来完成具体的功能。

l void addWithUniqueName(Vector v, String s)

l synchronized void addBeansInJar(String jarFile)从Jar文件载入Bean加入到工具栏中

l synchronized void addBeanClass(String beanClassName)用于登记BeanBox

l public Dimension getPreferredSize()获取最佳大小

l public void paint(Graphics g)重新绘制显示

l public void run()使用一个内部线程来处理Bean插入到工具栏

l public Vector getLoadedJarInfo()获取载入Jar文件的信息

l private static Vector getJarNames()获取要载入的Jar文件名

l 实现MouseListener接口的方法

属性浏览器

PropertySheet继承了Frame类,其主要实现是通过PropertySheetPanel来完成。

l synchronized void setTarget(Wrapper targ)设置要浏览的Bean

l void stretch()用于窗口调整时调用

l private void doLayout(boolean doSetSize)调整界面的位置

l synchronized void setCustomizer(Customizer c)设置要属性的Customizer

l synchronized void wasModified(PropertyChangeEvent evt)执行属性的修改和相关操作(是关键的方法)

工具类

为了辅助BDK的功能实现,设计了丰富的工具类,我们将用新的一章来介绍。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有