RCP和GEF是什么?

大家都知道前端有很多著名的UI框架库,他们很多都是基于JS的,例如:EasyUIEmementUIantd。类似的,以java为主要语言,也有自己的GUI库,例如 :RCPGEF等等。

依赖关系

在这里插入图片描述

详细描述

  • AWT

AWT(Abstract Window Toolkit),中文译为抽象窗口工具包,该包提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT中的图形函数与操作系统所提供的图形函数之间有着一一对应的关系,称之为peers,当利用AWT编写图形用户界面时,实际上是在利用本地操作系统所提供的图形库。由于不同操作系统的图形库所提供的样式和功能是不一样的,在一个平台上存在的功能在另一个平台上则可能不存在。为了实现Java语言所宣称的“一次编写,到处运行(write once, run anywhere)”的概念,AWT不得不通过牺牲功能来实现平台无关性,也即AWT所提供的图形功能是各种操作系统所提供的图形功能的交集。

  • SWING

Swing 是一个为Java设计的GUI工具包。 Swing 是 JAVA基础类 的一部分。 Swing 包括了图形用户界面 (GUI) 器件 如:文本框,按钮,分隔窗格和表。

SWING 提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这 一点不像AWT。 它们是JFC的一部分。 它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台 上使用JAVA支持的任意面板。 轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

  • SWT

SWT(Standard Widget Toolkit) 是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。 在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit).AWT框架底层使用原生窗口部件(native widgets)构建,只能使用各个平台窗口部件的子集。

  • JFACE

JFace是建立在SWT之上的UI部件,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API,其底层实现为SWT。它扩展了 SWT并能与 SWT 交互操作。JFace工具箱提供了一组功能强大的用户界面组件,开发人员可以轻松地在独立应用程序中利用这些组件,以简化常见的UI编程任务。
SWT是一个窗口构件集和图形库,它集成于本机操作系统提供的GUI API。而JFace是用SWT实现的UI工具箱,它简化了常见的UI编程任务。JFace在其API和实现方面都是独立于窗口系统的,它在窗口小部件系统上运行,即JFace旨在使用SWT而不隐藏它。

  • RCP

Eclipse RCP就是由插件开发转向桌面应用开发,构建最小化的Eclipse平台(8M)运行你的桌面应用,不必再为程序框架烦心,摆脱失败的AWT和Swing,让程序拥有专业级效果,而实现又很简单、很优雅。
RCP提供了丰富的界面控件,这使得基于 Java 开发桌面应用也变得容易了很多,虽然仍然不能和基于VB、Delphi进行相比。对于开发者而言,尽管使用 RCP 也是为了开发桌面应用,但 RCP 给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势, RCP 可以视为基于 OSGi(Open Service Gateway Initiative) 构建插件化系统的最佳实践的指导,其中的不少设计方法甚至都可以整理成为基于 OSGi 做插件化应用系统的设计模式,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。相信大家在了解了 RCP 的设计思想,看过其代码后,不得不对 RCP 表示崇高的敬意,大师之作,不同凡响。

  • GEF

GEF(Graphical Editing Framework)是一个图形化编辑框架,它允许开发人员以图形化的方式展示和编辑模型,从而提升用户体验。这样的应用程序有很多,例如:UML类图编辑器、图形化XML编辑器、界面设计工具以及图形化数据库结构设计工具等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值