Eclipse RCP教程 – 10 – 用户界面模型元素

10. 用户界面模型元素

下面的模型元素展示了你用来创建应用程序用户界面所需要的最基本的元素。

10.1. 窗口

Eclipse应用程序由一个或多个窗口组成。一般来说,一个应用程序仅有一个窗口,但是这并没有限制。例如,如果你想支持连接多个显示器。

20170507_003

10.2. 部件

部件是你用来浏览和修改数据的用户界面组件。部件可以层叠到堆栈中或者一个接一个的摆放,这取决于他们被放置的容器。部件可以包含下拉菜单,内容菜单和工具栏。

20170507_004

部件可以分类为视图(views)编辑器(editors)

视图一般用于一系列数据,它可能是层次结构的。如果视图修改了数据,这个修改一般会直接应用到底层的数据结构中。视图有时候允许用户打开一个编辑器来编辑所选择的数据。例如,包资源管理器(Package Explorer)视图允许你浏览Eclispe项目的文件列表。如果你通过该视图重命名了一个文件,该文件名也会直接在文件系统中修改。

编辑器一般用于修改单个数据元素,例如一个文件的内容或者一个数据对象。要将编辑器中修改的内容应用到数据结构中,用户需要明确的保存编辑器的内容。

例如,Java编辑器用来修改Java源文件。对源文件的修改会在用户点击Save按钮之后生效。一个未保存的编辑器tab会在所修改文件的名称左侧有一个星号标志。

20170507_005

10.3. 可用的部件容器

部件可以直接放在一个窗口或透视图中。它们也可以被组合在一起然后通过其他模型元素来组织。例如,通过堆栈部件(Part Stack)或者sash容器部件(Part Sash Container)元素。

堆栈部件包含一系列部件,同一时刻只显示一个部件的内容以及其他部件的头部,用户可以通过选择对应的tab来切换到其他部件。

一个sash容器部件同时水平或垂直地显示所有的子元素。

下面的截图展示了一个简单的使用了2个sash容器部件和3个堆栈部件的Eclipse应用程序。

20170507_006

在上面的布局中,有一个水平的sash容器部件包含了另一个sash容器部件和一个堆栈部件。位于第二层的sash容器部件又包含了两个堆栈部件。其层次结构如下图:

20170507_007

在sash容器的子元素中,你可以使用容器数据(Container Data)属性来指定布局权重。该布局权重会被解析为在sash容器部件中对应子元素应该获得的相对空间。该设置如下图所示。

20170507_008

如果你为一个子元素设置了容器数据,你就需要为其他子元素都设置该属性。否则对于没有设置的元素该属性就会被解析成超级大,然后这些元素就会获取所有的可见空间。

注意:当sash容器中的元素移动时,容器数据值的初始总数将会被用到。为了做到细粒度/平滑的拖动,这个总数需要接近屏幕分辨率。一个太小的值(例如50)会使得每移动一个sash单位部件移动多个像素 ,用户会感觉到闪动。因此,请设置一个足够大的值,例如10000。

10.4. 透视图(Perspective)

透视图是一个可选容器,用于一系列部件。透视图可以用于有不同安排的部件。例如,Eclipse IDE使用它来布局开发者想执行的任务(开发,调试,检查…)的视图。

你可以将透视图放在应用程序模型的透视图堆栈中。Eclipse平台会通过其提供的服务来切换透视图。

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2017/05/eclipse-rcp-10/
百度已收录