GEF入门教程:构建RCP编辑器
"GEF中文教程 - 一个很好的GEF开发学习文档,涵盖了RCP项目建立、RCP中的Editor显示以及GEF的基本结构。" 在软件开发领域,GEF(Graphical Editing Framework)是一个用于构建图形化编辑器的开源框架,它基于Eclipse平台。本教程针对希望学习如何在Eclipse Rich Client Platform (RCP) 上使用GEF进行开发的初学者。RCP是Eclipse提供的一个用于构建桌面应用的框架,允许开发者创建功能丰富的、自包含的应用程序。 首先,教程指出开始学习GEF时,通常会从“HelloWorld”示例开始。在这个例子中,将使用GEF这个强大的工具来实现简单的图形化编辑功能。为了顺利进行开发,建议使用JDK 1.5或更高版本,因为低版本的JDK可能在处理EMF(Eclipse Modeling Framework)生成的XML模型时出现问题。 接下来,教程详细介绍了如何创建一个RCP工程: 1. 在Eclipse中选择“Plug-in Project”,并命名为“gef.tutorial.stepz”。 2. 在创建新项目的向导中,选择“RichClientApplication”,并确认选择“Yes”以创建一个RCP工程。 3. 选择“HelloRCP”模板,然后点击“Finish”完成工程创建。 4. 为了使用GEF,需要在工程的依赖性设置中添加“org.eclipse.gef(3.1.0)”插件。 创建完RCP工程后,教程转向了创建关键的编辑器组件(Editor)。在GEF中,图形通常被绘制在Editor上,而不是View上,因为Editor继承自EditorPart,提供了诸如脏状态检测(dirty handling)和保存提示等功能,这对于图形编辑器来说非常重要,因为它允许用户保存对图形的修改。 创建Editor的步骤包括定义Editor类,继承自GEF提供的基类,并配置其在RCP中的注册和行为。这通常涉及到重写一些关键方法,如`createPartControl`,以指定图形在何处显示,以及如何响应用户的交互。 此外,教程可能还会涉及以下内容: - 如何使用EMF创建数据模型,因为GEF通常与EMF结合使用,提供数据驱动的图形编辑。 - 图形元素的定义,包括节点、边和连接器,以及它们的可视化表示。 - 图形编辑操作的实现,如拖放、选择、剪切、复制和粘贴等。 - 事件处理,监听并响应用户在图形上的交互。 - 自定义手势和命令,扩展编辑器的功能。 "GEF中文教程"是一个适合初学者的宝贵资源,它逐步指导开发者如何在Eclipse RCP环境中搭建和使用GEF构建图形化编辑器。通过这个教程,学习者可以掌握GEF的基本概念和实践技巧,为进一步深入图形界面开发打下坚实基础。
![](https://csdnimg.cn/release/download_crawler_static/9918432/bg10.jpg)
![](https://csdnimg.cn/release/download_crawler_static/9918432/bg11.jpg)
![](https://csdnimg.cn/release/download_crawler_static/9918432/bg12.jpg)
![](https://csdnimg.cn/release/download_crawler_static/9918432/bg13.jpg)
![](https://csdnimg.cn/release/download_crawler_static/9918432/bg14.jpg)
剩余124页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/b523e3c84c294f2b8c124647f9e762cd_qq_34243849.jpg!1)
- 粉丝: 3
- 资源: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Lombok 快速入门与注解详解
- SpringSecurity实战:声明式安全控制框架解析
- XML基础教程:从数据传输到存储解析
- Matlab实现图像空间平移与镜像变换示例
- Python流程控制与运算符详解
- Python基础:类型转换与循环语句
- 辰科CD-6024-4控制器说明书:LED亮度调节与触发功能解析
- AE particular插件全面解析:英汉对照与关键参数
- Shell脚本实践:创建tar包、字符串累加与简易运算器
- TMS320F28335:浮点处理器与ADC详解
- 互联网基础与结构解析:从ARPANET到多层次ISP
- Redhat系统中构建与Windows共享的Samba服务器实战
- microPython编程指南:从入门到实践
- 数据结构实验:顺序构建并遍历链表
- NVIDIA TX2系统安装与恢复指南
- C语言实现贪吃蛇游戏基础代码
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)