GEF(Graphical Editor Framework) Eclipse项目入门系列(1)---概述

原创 2014年12月24日 09:47:39

GEF的英文全称是Graphical Editor Framework。GEF的中文书籍在市面上面基本没有的。但是很多的Eclipse的二次开发项目可能却需要用到Eclipse的GEF的相关技术。GEF是一个Eclipse的项目之一,著名的XMind软件(http://www.xmind.net/)就是基于GEF开发的,如下图所示意,做出来的界面非常的漂亮和灵活,另外,WindowBuilder工具(http://www.eclipse.org/wb)也是基GEF开发的,此外Apache的一个BPEL的一个项目也是基于GEF开发的。上面只是其中三个例子,类似的其他的例子非常的多,笔者就不在一一列举。

基于GEF的 XMind的工作空间的效果展示



既然现在我们已经知道了GEF能做什么了,那么GEF的框架是如何组成的呢?换句话说,学习GEF需要学习和了解哪些技术呢?各位看官,且听笔者慢慢给你娓娓道来。

GEF Eclipse项目主要由三大部门组成:Draw2D, Zest 和 GEF。 读者看到这可能就会感到奇怪了,为什么GEF Eclipse项目还包括GEF自身呢?其实很好理解,就是用GEF这一部分代替整个的GEF Eclipse项目,就好比,我们有的时候,用北京来代替中国一样,只是一个名称罢了。下面分别介绍下面这个三个组成部分:

(1) Draw2D

Draw2D是一个轻量级的画图框架。所谓的轻量级是相对于重量级而言的,轻量级是指这些被Draw2D绘制的图形(figure)是有纯Java对象绘制出来的,和具体的操作系统资源没有直接的联系。而重量级意思就是每一个SWT的widgets(部件)都是和具体操作系统资源相关的API。废话少说,那么Draw2D主要的功能是什么呢?说白了,Draw2D主要用来显示图形信息,所以的Draw2D图形都是在SWT的画布(canvas)里面显示的,需要注意的是,其没有提供交互的行为。

(2) Zest 

Zest 是建立在Draw2D框架之上的一个框架。其提供了类似于Jface的功能(Jface相对于SWT来说)。使用Zest 能非常容易的把一个Java的模型和Draw2D的图形绑定在一起。

(3)GEF 

GEF 也是建立在Draw2D框架之上的一个框架。提供了非常非常丰富的API,能够让用户和图形界面进行交互,比如拖拽画板(palette),打印,对图形界面的实物操作(比如,图形画错了,取消或者回滚)等。

总之,下面一幅图,代表了作者的千言万语。


下面是一些其他参考文章:

http://www.cnblogs.com/bjzhanghao/archive/2005/02/09/103595.html
http://www.eclipse.org/articles/Article-GEF-Draw2d/GEF-Draw2d.html
http://wiki.eclipse.org/GEF_Description
http://wiki.eclipse.org/GEF_Description2

笔者的后续文章,将分别一一介绍Draw2D,Zest和GEF的相关技术,并结合一些实际的例子,敬请期待。。。。。。。




版权声明:本文为博主原创文章,未经博主允许不得转载。

GEF源码分析(一) eclipse的GEF相关项目说明

GEF学习笔记(一) eclipse的GEF相关项目说明   首先、感谢八进制的辛勤劳动和奉献。这几天开始对GEF发生兴趣,八进制的GEF系列对我学这些的帮助很大入门很快。自己也就顺手把周末学习的...
  • wyt4455
  • wyt4455
  • 2013年06月06日 09:40
  • 635

GEF(Graphical Editor Framework) Eclipse项目入门系列(3)---Draw2D例子演示

在”GEF(Graphical Editor Framework) Eclipse项目入门系列(2)---Draw2D开发环境的搭建“一文中,我给大家介绍了Draw2D的开发环境的搭建。下一步,根据软...

eclipse更新站点(update site)的建立

我们在进行eclipse插件开发时,通常通过分发jar包的方式将插件文件包发送给使用的人安装。通常的安装eclipse插件方式是直接copy到对应的eclipse/plugins目录下(或dropin...
  • clamaa
  • clamaa
  • 2017年04月11日 09:50
  • 885

GEF(Graphical Editor Framework) Eclipse项目入门系列(2)---Draw2D开发环境的搭建

GEF(Graphical Editor Framework) Eclipse项目入门系列(1)---概述中,我们已经提到了Draw2D框架是GEF框架的重要组成部分。那么Draw2D的环境如何搭建起...

[Eclipse]GEF入门系列(一、Draw2D)

[Eclipse]GEF入门系列(一、Draw2D) 鸡年第一天,首先向大家拜个年——恭祝新春快乐,万事如意。一年之计在于春,你对新的一年有什么安排呢?好的,下面还是进入正题吧。 关于Java...

使用Eclipse Visual Editor开发GUIs(graphical user interfaces)

一、(Introducing the Eclipse Visual Editor project) Eclipse Visual Editor简介Read through any discussion...

ACM YTU 《挑战编程》第一章 入门 Problem E: Graphical Editor

DescriptionGraphical editors such as Photoshop allow us to alter bit-mapped images in the same way t...

(挑战编程_1_5)Graphical Editor

题目链接:http://www.programming-challenges.com/pg.php?page=downloadproblem&probid=110105&format=html ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GEF(Graphical Editor Framework) Eclipse项目入门系列(1)---概述
举报原因:
原因补充:

(最多只允许输入30个字)