扩展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 预览

扩展Visual Editor的控件和属性 扩展Visual Editor的控件和属性

  如何定制 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    作者:王 浩    责编:豆豆技术应用

正在加载评论...