### GEF开发实践知识点解析 #### 一、GEF向导与工程创建 **1. 创建GEF工程** GEF(Graphical Editing Framework)是Eclipse提供的一个强大的图形编辑框架,适用于构建复杂图形用户界面的应用程序。创建GEF工程是整个项目开发的基础。 - **步骤一**: 在Eclipse中新建一个GEF工程,可以通过`File -> New -> Other...`菜单路径,选择GEF相关的项目模板进行创建。 - **步骤二**: 设置项目的基本信息,如工程名称、位置等。 - **步骤三**: 选择是否为工程添加`RichApplication`支持,通常情况下选择“是”,以便能够直接运行该应用。 - **步骤四**: 完成工程创建后,可以在项目资源管理器中查看到相应的工程结构。 **2. 设置GEF依赖** - **步骤**: 在项目构建路径中添加GEF相关的库文件。这一步骤对于确保项目能够正确编译和运行至关重要。 - **操作**: 右键点击项目 -> `Build Path -> Configure Build Path...`,在弹出的对话框中添加GEF所需的库文件。 **3. 添加Editor** - **步骤一**: 在项目的`src`目录下创建一个`Editor`类。 - **步骤二**: 配置该`Editor`类以支持图形编辑功能,如添加图形元素、处理用户交互等。 - **步骤三**: 将`Editor`类与主应用程序关联起来,以便能够在应用中打开并使用该编辑器。 **4. 创建src包结构** - **建议**: 按照MVC(Model-View-Controller)模式组织代码,将模型、视图和控制器分离开来。 - `Kylingef.module`: 存放模型相关的类和接口。 - `Kylingef.parts`: 存放控制器相关的类和接口。 - `Kylingef.ui`: 存放视图相关的类和接口。 **5. 显示DiagramEditor** - **操作**: 在主应用窗口中配置`DiagramEditor`,使其能够在界面上显示出来。 - **关键**: 确保`DiagramEditor`能够正确加载项目模型,并提供必要的编辑功能。 **6. 加入菜单** - **操作**: 通过插件点或者编程方式,将自定义的菜单项添加到Eclipse的工作台菜单中。 - **目的**: 方便用户访问和控制应用的功能。 **7. GEF绘图** - **操作**: 使用GEF提供的API绘制各种图形元素,如节点、连线等。 - **关键**: 掌握如何创建和使用`EditPart`、`EditPolicy`以及命令(Command)。 #### 二、图形编辑要点与原理 **1. 要点** - **涉及的概念**: Policy、Command、Role等。 - **使用布局**: 使用`XYLayout`布局,以方便图形元素的摆放和调整。 - **Edit操作**: 通过句柄改变图形尺寸,移动图形。 - **安装Editing Policy**: 用于改变图形尺寸、移动图形等操作。 - **执行Command**: 改变图形尺寸、移动图形等操作。 - **Undo和Redo**: 提供撤销和重做功能,以便用户能够轻松地回退或恢复操作。 **2. 原理** - **请求(Request)**: 当模型改变时,会产生请求,然后发送给对应的`EditPart`。 - **Editing Policy**: 管理一系列命令,这些命令响应用户的请求。 - **Command**: 执行具体的编辑操作,如移动、调整大小等。 #### 三、GEF中的MVC模式与代码结构 **1. GEF中的MVC** - **Model**: 包括代表整个图的`Diagram`、代表节点的`Node`和代表连接的`Connection`等。 - **View**: 主要是`DiagramEditor`,负责显示模型中的数据。 - **Controller**: 由`EditPart`和`EditPolicy`组成,负责处理用户的输入操作。 **2. 代码结构分析** - **Role-EditPolicy-Command设计**: 这种设计模式有利于代码的复用。 - **优点**: 减少重复代码,提高代码的可维护性。 - **缺点**: 增加了学习难度,特别是对于初学者来说。 - **模块化**: 将模型、视图和控制器分开,有助于更好地管理和扩展项目。 #### 四、示例与错误分析 **1. 拖拽矩形** - **操作**: 用户可以通过鼠标拖拽的方式调整矩形的位置或大小。 - **实现**: 通过安装适当的`EditPolicy`并执行相应的命令(Command)来实现。 **2. 连线** - **操作**: 允许用户创建连接不同图形元素的连线。 - **实现**: 使用`EditPolicy`来管理连线的创建和编辑操作。 **3. 错误分析** - **常见错误**: 如`Could not open the editor: null argument`、`assertion failed`等。 - **解决方法**: 检查输入参数是否为空,确保模型和编辑器的初始化正确完成。 GEF开发实践不仅需要掌握基本的工程创建和配置步骤,还需要深入理解GEF的核心概念和原理。此外,合理的代码结构和设计模式的应用对于项目的成功至关重要。
剩余26页未读,继续阅读
- 粉丝: 1
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助