### GEF实例教程知识点概述 #### 一、GEF简介与环境配置 - **GEF (Graphical Editing Framework)**:GEF是Eclipse平台提供的一个用于构建图形编辑器的框架,能够帮助开发者快速构建功能丰富的图形用户界面。适用于创建各种类型的图形编辑器,如流程图编辑器、UML建模工具等。 - **开发环境**: - **操作系统**:Windows XP - **Java 开发工具包**:JDK 1.5 及以上版本 - **Eclipse 版本**:3.1.0 及以上版本 - **GEF 版本**:3.1.0 及以上版本 - **Draw2D**:包含在GEF中,版本3.1.0及以上 - **EMF (Eclipse Modeling Framework)**:2.1.0 及以上版本 #### 二、创建RCP项目 - **RCP (Rich Client Platform)**:基于Eclipse的富客户端平台,提供了一种构建高度可定制的桌面应用程序的方式。 - **步骤**: 1. **选择项目类型**:选择“Plug-in Project”作为项目类型。 2. **命名项目**:项目名为`gef.tutorial.stepz`。 3. **选择RCP支持**:在“Rich Client Application”选项中选择“Yes”。 4. **选择模板**:选择“Hello RCP”模板,并完成项目创建。 #### 三、设置项目依赖 - **添加GEF依赖**:通过编辑`plugin.xml`文件,在“dependencies”页面中添加`org.eclipse.gef`依赖。 #### 四、创建Editor - **理解Editor与View的区别**:在Eclipse RCP中,Editor和View都是用来展示数据的容器,但Editor通常提供额外的功能,如文件保存机制、脏标记处理等。 - **创建Editor步骤**: 1. **在`plugin.xml`中添加编辑器扩展**:在“extensions”页面中添加`org.eclipse.ui.editors`扩展。 2. **配置编辑器细节**:配置编辑器的基本信息,包括ID、名称等。 3. **创建基本目录结构**: - `gef.tutorial.step.model`:存放模型相关的类。 - `gef.tutorial.step.parts` 或 `gef.tutorial.step.editparts`:存放控制器相关的类,即EditParts。 - `gef.tutorial.step.ui`:存放视图相关的类,包括Editor类。 #### 五、GEF的基本结构 - **模型(Model)**:表示应用程序的数据结构,不涉及任何UI组件。 - **控制器(Controller)**:负责处理用户的输入,并更新模型。GEF通过EditParts实现这一功能。 - **视图(View)**:展示模型的状态,通常使用Draw2D库来绘制图形元素。 #### 六、GEF实例教程详解 - **实例:HelloWorld** - **目的**:通过简单的HelloWorld示例了解GEF的基本用法。 - **步骤**: 1. **创建RCP项目**:根据前面的步骤创建项目。 2. **配置项目依赖**:添加必要的依赖。 3. **创建Editor**:根据步骤创建并配置Editor。 4. **实现基本功能**:在Editor中绘制简单的图形元素,例如文本或形状。 - **关键概念**: - **EditPart**:用于表示模型中的每个对象,并处理用户交互。 - **GraphicalViewer**:作为图形元素的容器,负责渲染和管理EditParts。 - **Command**:用于执行模型更新操作,通常由EditParts触发。 通过以上内容的学习,读者可以初步了解如何使用GEF框架构建图形编辑器,并掌握基本的开发流程和技术要点。随着实践的深入,读者将能够更加熟练地应用GEF来创建复杂的图形界面应用。
- 粉丝: 1
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- redis-standalone.yml redis k8s单点部署
- 2000-2023年省级产业结构升级数据-最新出炉.zip
- Python基于Scrapy兼职招聘网站爬虫数据分析设计(源码)
- zipkin.yml zipkin k8s部署
- YY9706.102-2021医用电气设备第2-47部分
- 通过运用时间序列ARIMA模型与循环神经网络(LSTM)对中国包装机器数量进行预测(python源码)
- 基于ARIMA模型的股票预测(python源码)
- 基于阿里云对象存储的对文件进行批量修改、批量解冻、批量上传
- 山东联通-海信IP501H-GK6323V100C-1+8G-4.4.2-当贝桌面-卡刷包
- IMG_6338.PNG
- 1
- 2
前往页