扩展Visual Editor的控件和属性
http://tech.ddvip.com 2008年01月10日 社区交流
内容摘要:Visual Editor for Java 是基于 eclipse 的 GUI 可视化编辑插件,该插件以 Java 代码为中心,实现了所见即所得的用户界面编辑方式,广泛支持目前的 SWT、AWT、Swing 等控件包。本文通过一个完整的对 Visual Editor 的扩展示例,向读者展示扩展 Visual Editor 的控件和属性的方法。
定义 ClassPath 容器
用户如何将定制化的控件加到他们的构建路径里?和 JRE System Library 一样,如果我们的控件打包为 textitem.jar,他们可能希望有下图演示的方便的构建方式:
图 5:添加 Class Library 预览

如何定制 ClassPath 容器?
首先区分一下,本文前述的 Java 类,哪些需要在 runtime 时使用,哪些仅仅是 Visual Editor 使用:
TextItem 控件类,是控件的具体实现,TextItemModel 类,是该控件类的模型类,这两个类是 runtime 类,在用户的应用程序中会采用。
TextItemBeanInfo 类,是描述 TextItem 属性编辑行为的类,而 TextItemModelEditor 类,是对应于 TextItemModel 的属性编辑器,这两个类属于在 Visual Editor 下使用的类,用户并不关心他们内部的实现。
所以,打包 runtime 用的 jar 包,仅需将 TextItem 类和 TextItemModel 类打包为 textitem.jar,这是创建 ClassPath 容器的第一步。而 TextItemBeanInfo 和 TextItemModelEditor 为插件扩展才会用到的类,则可以另外打包为 textitembeaninfo.jar,放入导出的插件中,并对扩展点“org.eclipse.jem.beaninfo.registrations”进行扩展,令 Visual Editor 能够找到扩展的 BeanInfo 类和属性编辑器类:
清单 13:扩展 BeanInfo 项
<beaninfo path="textitembeaninfo.jar">
<searchpath package="developerworks.ve.example.textitem"/>
</beaninfo>
来源:ibm 作者:王 浩 责编:豆豆技术应用