GEF中文教程:从零开始的插件开发

4星 · 超过85%的资源 需积分: 46 28 下载量 199 浏览量 更新于2024-07-30 收藏 1.93MB PDF 举报
"GEF中文教程,针对GEF插件开发的全面教程,适合初学者,涵盖RCP项目建立、GEF基本结构和draw2d基础。教程通过一个HelloWorld示例介绍如何在RCP上构建GEF编辑器,强调了JDK版本要求和依赖设置。" 在本教程中,我们将探讨GEF(Graphical Editing Framework)的使用,这是一个用于构建图形化编辑器的Java框架,特别适用于Eclipse RCP(Rich Client Platform)环境。GEF通常用于创建可交互的图形界面,提供了一套完整的工具和接口,使得开发者能够方便地创建复杂的图形编辑器。 首先,要开始学习GEF,我们需要创建一个RCP(Rich Client Platform)项目。RCP是Eclipse平台的一个核心组成部分,允许开发者构建独立的桌面应用程序。在教程中,我们选择了“Plug-in Project”,项目名为“gef.tutorial.stepz”,并选择了“RichClientApplication”,以确保我们的项目具备RCP特性。 接着,我们需要确保项目依赖于正确的库。特别是,我们需要添加GEF库(版本3.1.0)作为依赖项,这可以通过在plugin.xml文件的dependencies页面中进行操作。GEF库包含了draw2d,这是一个用于2D图形绘制的框架,它是GEF的一部分,用于在屏幕上呈现图形元素。 接下来,教程展示了如何创建一个基于GEF的编辑器。编辑器是RCP中的一个重要组件,它可以处理用户的输入并提供文件保存功能。在这个例子中,我们将创建一个简单的“HelloWorld”编辑器,将GEF的图形绘制功能集成到其中。编辑器通常是从EditorPart类派生的,它提供了诸如脏状态处理(dirty handling)的功能,当图形被修改时,系统会提示用户保存更改。 虽然教程中没有明确提到,但通常在GEF中,视图(View)和编辑器(Editor)的区别在于,视图主要用于展示信息,而编辑器则侧重于数据的编辑和保存。视图可以独立存在,不涉及文件操作,而编辑器通常与特定的文件类型关联。 在实际开发过程中,将图形界面构建在编辑器而非视图上,主要是因为编辑器提供了更丰富的交互和持久化功能。例如,它能够跟踪用户所做的修改,自动标记为“脏”状态,并在需要时提醒用户保存。同时,编辑器可以利用Eclipse的现有框架,如 undo/redo 操作,以及与其他插件的集成。 通过这个教程,读者不仅可以了解GEF的基本概念和工作流程,还能学习到如何在Eclipse RCP环境中设置和管理项目依赖,以及如何创建和配置一个基于GEF的图形编辑器。对于初学者来说,这是一个很好的起点,能够逐步深入到更复杂的GEF应用开发中。