扩展Visual Editor的控件和属性

http://tech.ddvip.com   2008年01月10日    社区交流

内容摘要:Visual Editor for Java 是基于 eclipse 的 GUI 可视化编辑插件,该插件以 Java 代码为中心,实现了所见即所得的用户界面编辑方式,广泛支持目前的 SWT、AWT、Swing 等控件包。本文通过一个完整的对 Visual Editor 的扩展示例,向读者展示扩展 Visual Editor 的控件和属性的方法。

  图 4:属性编辑器预览

扩展Visual Editor的控件和属性

  该属性编辑对话框是 TitleAreaDialog 的一个实现,实现过程略去不谈,如何在属性视图中激活该对话框?

  属性视图中每个属性都是 key 和 value 的集合,对于 Value 的设置,可以是简单的文本框,比如字符串型,整数型等,也可以是下拉列表框,如布尔型等。与此同时,也可以实现为弹出对话框的编辑框。该种类的编辑框可以是 JFace 的 DialogCellEditor 的实现子类,并继承 Visual Editor 的 INeedData 接口。DialogCellEditor 是抽象类,它的唯一的抽象方法就是 openDialogBox(),用以打开上图所示的对话框。

  定制化的编辑框,如何建立与控件相应属性的连接?这需要借助 Visual Editor 的 override 机制。BeanInfo 提供了 override 的技术,用以扩展属性的编辑行为。Visual Editor 通过 override 文件来扩展出丰富的可定制化的编辑器。

  向 Visual Editor 扩展 override 文件,需要对“org.eclipse.jem.beaninfo.registrations”扩展点进行扩展,使其能够识别扩展的 Override 文件的位置。本例中的扩展如下:

  清单 5:org.eclipse.jem.beaninfo.registrations 扩展点

<extension
     point="org.eclipse.jem.beaninfo.registrations">
   <registration
      container="developerworks.ve.example.textitem">
     <override
        package="developerworks.ve.example.textitem"
        path="overrides/developerworks/ve/example/textitem">
     </override>
   </registration>  
  </extension>

来源:ibm    作者:王 浩    责编:豆豆技术应用

正在加载评论...