背景知识:
AWT:
JAVA最早的GUI技术,采用了“交集”的办法,即只支持每个图形系统都有的、最常用的控件和显示风格。
Swing:与AWT完全不同的策略,除了自己的一套标准的控件外,支持用户手绘界面,但完全脱离操作系统控件的支持,使得性能受到影响。
SWT:
同时吸取了AWT和Swing的优点,目标平台上有的控件,SWT直接使用,没有的,采用Swing方式绘制。基本体系分为三层:1、SWT的API,2、JNI相关的代码,3、C语言实现的操作系统本地动态链接库文件。
JFace:基于SWT的工具箱,提供一些常见功能的实现框架,如对话框、首选项设置、向导、操作、查看器等。
RCP:
构建一个基于Eclipse平台技术的应用程序所需要的最小集合,包括:Equniox、SWT/JFace、UI、Runtime,产品示例:IBM Lotus Notes Hannover,RCP再加上一些辅助功能就构成了Eclipse平台,如:Team、Debug、IDE UI、Ant、Update、Help、Search等。
EMF:
Eclipse Modeling Framework,原理:根据java接口、UML图生成数据模型的元模型 Ecore,再根据元模型生成实现代码。
Draw2D:
Draw2D是基于SWT的图形处理包,它适合用作GEF的View层,由以下几个部分组成:轻量系统类 LightweightSystem,画布Canvas,图形元素Figure,事件分配器EventDispatcher,更新管理器UpdateManager
GEF:
Graphical Editing Framework,用于开发图形界面相关的应用程序,如流程图、GUI设计工具、所见即所得的排版工具等,其生成的图形编辑器依赖于RCP技术。
引言
大部分GEF应用程序都实现为Eclipse的Editor,也就是说整个编辑区域是放置在一个Editor里的。所以典型的GEF应用程序具有一个图形编辑区域包含在一个Editor(例如GraphicalEditorWithPalette)里,可能有一个大纲视图和一个属性页,一个用于创建 EditPart实例的EditPartFactory,一些表示业务的模型对象,与模型对象对应的一些EditPart,每个EditPart对应一个 IFigure的子类对象显示给用户,一些EditPolicy对象,以及一些Command对象。
GEF应用程序的工作方式如下: EditPartViewer接受用户的操作,例如节点的选择、新增或删除等等,每个节点都对应一个EditPart对象,这个对象有一组按操作Role 分开的EditPolicy,每个EditPolicy会对应一些Command对象,Command最终对模型进行直接修改。用户的操作转换为 Request分配给适当的EditPolicy,由后者创建适当的Command来修改模型,这些Command会保留在EditDomain(专门用于维护EditPartViewer、Command等信息的对象,一般每个Editor对应唯一一个该对象)的命令堆栈里,用于实现撤消/重做功能。
实现
。。。。。。
一个简单的 GEF 示例: 点击下载
分享到:
相关推荐
标题中的“GEF资源打包”指的是一个集合了关于GEF(Graph Edit Framework)的各种学习资料的压缩文件。这个资源包可能包含了对理解、学习和使用GEF非常有帮助的材料。描述进一步说明了这个包中包含的具体内容,如...
**GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台上广泛使用,特别是在开发复杂的图形用户界面和工具时。本资料集旨在为初学者提供一个全面的入门指南,帮助理解GEF...
在Eclipse中创建RCP项目时,选择“Plug-in Project”并命名为`gef.tutorial.step`。在“Rich Client Application”选项中选择“Yes”,然后选择“Hello RCP”模板,完成初始化。 接下来,**设置项目依赖**。打开`...
Gef,全称Graphical Editing Framework,是Eclipse项目的一部分,是一个用于构建图形编辑框架的开源库,主要用于开发基于Swing或SWT的图形用户界面应用。这个框架支持模型驱动的编辑环境,允许开发者创建复杂的图形...
**GEF入门学习例子** **概述** `GEF`(Graphical Editing Framework)是Eclipse开源组织提供的一款强大的图形编辑框架,用于构建图形用户界面(GUI)应用,特别是那些需要进行图形绘制、编辑和操作的软件。这个入门...
**GEF(Graphical Editing Framework)** 是一个用于构建图形编辑工具的开源框架,它为开发人员提供了一套全面的库和工具,用于创建基于Eclipse的富客户端平台(RCP)的应用程序,特别是那些涉及图形用户界面(GUI)...
【GEF 深入解析】是2005年由Randy Hudson和Pratik Shah在IBM Rational Software Research Triangle Park, NC进行的一次关于Graphical Editing Framework(图形编辑框架)的报告。此次报告的主要目的是向参与者详细...
1. **环境准备**:首先需要安装Eclipse IDE,并确保它包含PDE(Plug-in Development Environment)组件,这是开发Eclipse插件的基础。 2. **创建新项目**:在Eclipse中创建一个GEF项目,选择适当的模板,如"GEF ...
### Eclipse的GEF框架深入解析 #### 一、GEF框架概述 GEF,全称为Graphical Editor Framework,是Eclipse平台下的一款图形编辑框架,主要用于构建图形化编辑器,如流程设计器、UML类图编辑器等。GEF遵循经典的MVC...
- 打开Eclipse并选择“File” > “New” > “Other” > “Plug-in Project”。 - 为项目命名`gef.tutorial.stepz`。 - 在“Rich Client Application”选项中选择“Yes”。 2. **设置依赖**: - 为项目添加`org....
**GEF(Graphical Editing Framework)教程与Demo源码详解** GEF,全称为Graphical Editing Framework,是Eclipse平台上用于构建图形化编辑器的一种框架。它为开发人员提供了丰富的工具,可以方便地创建出复杂的...
《GEF-SDK-3.6.2 jar:Eclipse GEF框架详解及在Android ADT中的应用》 GEF(Graphical Editing Framework)是Eclipse项目中的一个重要组成部分,它为开发图形化编辑器提供了强大的支持。在标题“GEF-SDK-3.6.2 jar...
**选择项目类型**:选择“Plug-in Project”作为项目类型。 2. **命名项目**:项目名为`gef.tutorial.stepz`。 3. **选择RCP支持**:在“Rich Client Application”选项中选择“Yes”。 4. **选择模板**:选择...
【IBM GEF推广资料】 IBM GEF(Graphical Editing Framework)是Eclipse平台上的一个开源图形编辑框架,专为构建图形化用户界面和图形编辑工具而设计。它提供了一个交互层,用于处理用户与图形视图之间的交互,实现...
文档提到通过选择“Plug-in Project”并设置项目名为`gef.tutorial.stepz`来创建一个RCP项目。 - **显示RCP中的Editor**:在RCP项目中,可以通过创建Editor来显示图形界面。这通常涉及到编辑器部件(EditorPart)的...
在图形编辑框架(GEF,Graphical Editing Framework)中,锚点(Anchor)是一个关键概念,它是连接模型元素之间的连接线在元素上的固定点。在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标...
Java GEF(Graphical Editing Framework)开发实例是一个深入理解并应用GEF框架的优秀实践案例。GEF是Eclipse平台上用于构建图形编辑器的库,它提供了构建图形用户界面(GUI)所需的基础结构,尤其适合创建复杂的...
**GEF 3.10 Eclipse 插件详解** **一、GEF简介** GEF(Graphical Editing Framework)是Eclipse平台中的一个图形编辑框架,用于构建图形化用户界面和图形编辑工具。它为开发者提供了创建可定制的、基于模型的图形...