以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Java/Eclipse 』 (http://bbs.xml.org.cn/list.asp?boardid=41) ---- [转帖]GEF实践总结(一)简洁的基础框架 (http://bbs.xml.org.cn/dispbbs.asp?boardid=41&rootid=&id=76630) |
-- 作者:hongjunli -- 发布时间:9/8/2009 12:14:00 PM -- [转帖]GEF实践总结(一)简洁的基础框架 关键字: gef实践 基础框架 一. 创建一个插件项目 通过从RCP application with a view 模板创建一个含ViewPart的Eclipse RCP项目。 三. 创建model 注意: 我偷了一个懒,一般属性我fire的propertyName都是IPropertyConst.COMMON,只有添加、删除children的时候,对外fire的是IPropertyConst.CHILDREN。 BaseEditPart :所有EditPart的基础类。extends于AbstractGraphicalEditPart,同时实现了PropertyChangeListener接口。 BaseContainerEditPart :所有父模型的基础类。作用和BaseContainerModel类似,都是为了处理父子结构。 DiagramEditPart :DiagramModel对应的EditPart。 DiagramEditPartFactory :通过model得知应该创建哪种对应的EditPart。就和jface.TableView一样,知道通过model得到TableItem。和jface.TreeViewer一样,通过model知道生成TreeItem一样的功效。只是在GEF中model和EditPart过多,需要一个工厂类专门处理,而TableViewer和TreeViewer则不需要。 五. 创建EditPart对应的Figure IBaseFigure :为了后面能方便获得模型而做的接口。
Java代码 graphicalViewer = new ScrollingGraphicalViewer(); graphicalViewer.setRootEditPart(new ScalableRootEditPart()); graphicalViewer.setContents(this.buildModel()); 代码很简洁,没有做任何多余的事情,先create一个GraphicalViewer,在赋予一个Root的EditPart,再指定EditPartFactory,最后,将构建的模型放入GraphicalViewer中。 七. 启动,查看运行效果 注意: 第一个灰边框:ViewPart的。 八. 总结 PropertyChangeSupport和PropertyChangeListener |
-- 作者:Humphrey -- 发布时间:9/23/2009 4:39:00 PM -- 刚看到GEF的时候还觉得十分陌生,但是看了图就有了似曾相识的感觉了。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
39.063ms |