Eclipse RCP与GEF编程:中文教程及环境配置

5星 · 超过95%的资源 需积分: 12 26 下载量 201 浏览量 更新于2024-11-26 收藏 1.93MB PDF 举报
"Java RCP编程资料,包括Eclipse RCP和GEF的详细内容,适合各个阶段的Java开发者学习。" 在Java RCP ( Rich Client Platform ) 编程中,Eclipse RCP是一个框架,它允许开发人员构建桌面应用程序,这些应用程序具有丰富的用户界面和与Eclipse IDE类似的特性。本资料主要关注的是如何使用GEF (Graphical Editing Framework) 在Eclipse RCP上构建图形编辑器。GEF是Eclipse中用于创建图形用户界面的库,特别适用于创建复杂的图表和编辑器。 首先,我们来看创建一个基于Eclipse RCP的项目的步骤。创建一个Plug-in Project是开始的起点,项目名称比如设为"gef.tutorial.stepz"。在创建过程中,选择"RichClientApplication"并确认应用模板为"HelloRCP",这将初始化一个基础的RCP项目。 接着,确保项目依赖性正确设置。在plugin.xml文件的dependencies页面,添加必要的库,例如org.eclipse.gef(3.1.0),这是使用GEF的关键。GEF库通常用于构建图形编辑器,而Draw2D,作为GEF的一部分,用于绘制2D图形。 创建Editor是核心步骤。因为Editor是从EditorPart类派生的,它不仅提供了一个画布来展示图形,还支持编辑功能,如“脏”状态处理,即当用户对图形进行改动时,会提示用户保存更改。在Eclipse RCP中,相比View,Editor更常用于需要持久化数据或需要用户交互进行编辑的场景。 在GEF中,典型的入门示例是在Editor上绘制图形,这是因为Editor提供了保存机制以及对用户操作的反馈。尽管在某些情况下,视图(View)可能更适合于只读的展示,但涉及到可编辑的图形元素,Editor的优势就显现出来了。 GEF的基本结构包括模型(Model)、视图(View)和控制器(Controller)。模型存储数据,视图负责呈现数据,而控制器处理用户输入和更新模型。这种MVC模式使得代码结构清晰,易于维护和扩展。 在实际编程中,开发者需要创建自定义的EditParts来表示模型的元素,并实现图形的绘制逻辑。EditPolicy用于定义特定编辑行为,如拖放、连接线等。此外,适配器(Adapter)机制使得GEF能够与各种数据模型无缝集成,如使用EMF(Enterprise Modeling and Framework)创建的XML模型。 通过阅读这份资料,开发者将深入理解如何在Eclipse RCP环境中利用GEF创建图形编辑器,包括项目设置、依赖管理、编辑器创建以及图形和数据模型的交互。这将对提升Java RCP和图形界面开发技能大有裨益。