RCP应用程序开发系列(1)

阅读更多

一、SWT

SWT 是一种 low-level 图形库,它提供了标准的UI控制器,例如lists, menus, fonts, and colors, 因为图形库显露了当前视窗系统能提供的组件. "SWT 提供了有效的,便利方访问它实现的操作系统的UI工具." SWT小组是这样评价SWT的。

 

SWT的策略是尽可能使用本地计件( widgets)。这可以使得基于 SWT的应用程序的外观和本地窗口一样。所以,基于 SWT的系统是轻便的,本地化的

 

注意:SWT不依赖于RuntimeOSGI框架,它是独立的库,可以被EclipseRCP以外的应用程序使用。

二、JFace

尽管SWT提供了访问本地窗口系统的能力,但JFace使得通常的UI概念的结构更合理,更易使用。UI小组这样描述JFace:

“JFace是一个UI工具包,它能处理许多常见的编程工作。JFace是独立的窗口系统,独立于它的API及其实现,它于与SWT一些工作,而不是隐藏它”。

它包括了整个UI工具包组件,从图片到字体注册,文本支持,对话框和透视图框架,耗时操作的进度工具条。这些和其它JFace UI结构,例如actions,viewers,组成了Eclipse UI的基础。

三、UI Workbench

因为JFacesSWT加入了结构化,工作台添加了表现层(presentation)和协作(coordinateion)JFaces。对于用户来说,工作台由视图集和编辑器构成,他们被部署在一个特殊层中。工作台包括:

·         提供了基于部署(contribution-based)的UI扩展功能

·         定义了强大的UI范例,如窗口(windows),透视图(perspective),视图(views),编辑器(editors)和动作(actions)

1. 基于部署的扩展-通过配置文件实现

尽管JFace引入了actions,preferences,wizards,windows等,工作台提供了扩展点机制,它允许插件通过申明定义UI元素。例如,wizardpreference页面扩展点简单的构建与相关的JFace结构。

然而,使用扩展来构建一个UI会在系统复杂性和性能方面从根本上影响UI的规模。声明扩展的根本目的是使得你的应用程序在需要的时候才会构建。

因为所有的扩展都是采用的延迟(lazily)加载的机制,应用程序的大小变得更合适。因为你的UI会越变越多,它包括了更多的视图,编辑器和动作。如果没有声明机制,那样的增长需要额外的加载和执行代码。增加了代码的数量和启动时间,应用程序也会变得无法管理。通过使用扩展,代码只有在需要的时候才会被加载。

2.透视图,视图,编辑器

工作台给用户一系列窗口。在每一个窗口中,工作台允许用户像管理文件夹一样合理的组织相关的内容。透视图是一种可视的容器,它包含了需要给用户展示的视图和编辑器等内容。这些都被部署在透视图中。

下面列出了组织透视图中内容的方法:

·         将编辑与其它视图一起叠放

·         将视图与其它视图一起叠放

·         将视图与主工作台窗口分离

·        调整视图和编辑器的大小,最小或最大化编辑器

·         创建fast view并固定在窗口的边上

你可能感兴趣的:(UI,Eclipse,OSGI,工作,框架)