• GEF(Graphical Editor Framework) Eclipse项目入门系列(1)---概述


    GEF的英文全称是Graphical Editor Framework。GEF的中文书籍在市面上面基本没有的。

    可是许多的Eclipse的二次开发项目可能却须要用到Eclipse的GEF的相关技术。GEF是一个Eclipse的项目之中的一个,著名的XMind软件(http://www.xmind.net/)就是基于GEF开发的。例如以下图所看到的意,做出来的界面很的美丽和灵活。另外,WindowBuilder工具(http://www.eclipse.org/wb)也是基GEF开发的,此外Apache的一个BPEL的一个项目也是基于GEF开发的。

    上面仅仅是当中三个样例。类似的其它的样例很的多,笔者就不在一一列举。

    基于GEF的 XMind的工作空间的效果展示



    既然如今我们已经知道了GEF能做什么了,那么GEF的框架是怎样组成的呢?换句话说。学习GEF须要学习和了解哪些技术呢?各位看官,且听笔者慢慢给你娓娓道来。

    GEF Eclipse项目主要由三大部门组成:Draw2D, Zest 和 GEF。 读者看到这可能就会感到奇怪了。为什么GEF Eclipse项目还包含GEF自身呢?事实上非常好理解,就是用GEF这一部分取代整个的GEF Eclipse项目。就好比。我们有的时候。用北京来取代中国一样。仅仅是一个名称罢了。

    以下分别介绍以下这个三个组成部分:

    (1) Draw2D

    Draw2D是一个轻量级的绘图框架。

    所谓的轻量级是相对于重量级而言的,轻量级是指这些被Draw2D绘制的图形(figure)是有纯Java对象绘制出来的,和详细的操作系统资源没有直接的联系。而重量级意思就是每个SWT的widgets(部件)都是和详细操作系统资源相关的API。废话少说,那么Draw2D基本的功能是什么呢?说白了,Draw2D主要用来显示图形信息,所以的Draw2D图形都是在SWT的画布(canvas)里面显示的,须要注意的是,其没有提供交互的行为。

    (2) Zest 

    Zest 是建立在Draw2D框架之上的一个框架。

    其提供了类似于Jface的功能(Jface相对于SWT来说)。

    使用Zest 能很easy的把一个Java的模型和Draw2D的图形绑定在一起。

    (3)GEF 

    GEF 也是建立在Draw2D框架之上的一个框架。

    提供了很很丰富的API,可以让用户和图形界面进行交互。比方拖拽画板(palette),打印,对图形界面的实物操作(比方,图形画错了。取消或者回滚)等。

    总之。以下一幅图,代表了作者的千言万语。


    以下是一些其它參考文章:

    http://www.cnblogs.com/bjzhanghao/archive/2005/02/09/103595.html
    http://www.eclipse.org/articles/Article-GEF-Draw2d/GEF-Draw2d.html
    http://wiki.eclipse.org/GEF_Description
    http://wiki.eclipse.org/GEF_Description2

    笔者的兴许文章,将分别一一介绍Draw2D,Zest和GEF的相关技术。并结合一些实际的样例,敬请期待。

    。。

    。。




  • 相关阅读:
    一二线城市知名 IT 互联网公司名单!
    分布式理论- CAP定理
    Linux中安装ActiveMQ完整教程
    Nginx安装-配置负载均衡
    基于SpringBoot+Vue在线学习系统实现
    序列化多个对象和反序列化遍历一个文件中的所有对象原理讲解
    从源码看懂HashMap
    Mac在已有jdk1.8的环境下安装jdk1.6
    mac通过Parallels Desktop虚拟机实现共享windows独有软件提供的特殊网络
    算法题汇总
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7097342.html
Copyright © 2020-2023  润新知