Eclipse GEF实战:构建图形编辑器

4星 · 超过85%的资源 需积分: 46 52 下载量 93 浏览量 更新于2024-09-19 2 收藏 1.93MB PDF 举报
"Eclipse GEF实战指南" 在本文中,我们将探讨如何使用Eclipse GEF(Graphical Editing Framework)开发图形应用程序。Eclipse GEF是一个强大的框架,它允许开发者构建复杂的图形用户界面(GUI),尤其适用于编辑器和视图的创建。本教程将从一个简单的"HelloWorld"示例开始,逐步教你如何利用GEF构建RCP(Rich Client Platform)应用。 首先,确保你拥有正确的开发环境,包括JDK 1.5或以上版本,Eclipse 3.1.0及以上,GEF 3.1.0,Draw2D(包含在GEF中),以及EMF 2.1.0。这些工具是开发基于GEF的应用的基础。 创建RCP工程的步骤如下: 1. 在Eclipse中选择"Plug-in Project"作为项目类型。 2. 给项目命名,例如"gef.tutorial.stepz",并在"RichClientApplication"选项中选择"Yes",这将创建一个RCP工程。 3. 选择模板"HelloRCP",然后点击"Finish"完成工程创建。 接下来,要让RCP工程能够使用GEF,你需要在`plugin.xml`文件的"Dependencies"页面中添加`org.eclipse.gef`插件(版本3.1.0)。 创建编辑器(Editor)是关键步骤,因为大多数GEF应用都是在编辑器上展示图形。Editor是基于EditorPart的,提供了一些重要的功能,如脏状态处理(dirty handling),当用户对图形进行修改时,编辑器会标记为"脏",提示用户保存更改。 创建编辑器的流程包括定义图形模型、适配器、绘图模型、以及视图和控制器。GEF的基本结构通常包括以下几个部分: 1. **模型(Model)**:这是应用程序的数据结构,可以用EMF( Eclipse Modeling Framework)来定义。 2. **适配器(Adapters)**:适配器将模型与视图和编辑器连接起来,允许模型数据的变化反映到视图上。 3. **绘图模型(Figure)**:Draw2D库提供了用于绘制图形的类,你可以创建自定义的图形元素。 4. **视图(View)**:显示模型数据的图形化表示。 5. **编辑策略(Edit Policies)**:定义特定编辑操作的行为。 6. **命令(Commands)**:负责执行和撤销/重做用户操作,确保数据的一致性。 在"HelloWorld"示例中,你可能将创建一个简单的图形,如文本或形状,并实现基本的拖放和大小调整功能。随着对GEF的深入理解,你可以构建更复杂的应用,如流程图编辑器、网络拓扑视图或者数据库设计工具。 GEF提供的强大功能包括图形布局管理、事件处理、交互模式,以及对模型和视图的同步更新。通过遵循其设计模式,开发者可以专注于业务逻辑,而不用关心底层图形绘制的细节。 Eclipse GEF是一个强大且灵活的框架,适合开发具有图形界面的桌面应用程序。通过本教程,你将学习如何从零开始,一步步构建一个功能完备的图形编辑器。记住,实践是最好的老师,动手尝试并不断探索,你会发现GEF的无限可能性。