<link href="images/style.css" type="text/css" rel="STYLESHEET">
<link href="images/docsafari.css" type="text/css" rel="STYLESHEET">
第5章. JFace Viewers
尽管SWT提供了本地平台控件接口,但是它们仅限于使用字符,数字,图像这样的简单数据。这对于大数据量的程序很好用,但是要在列表,表格,树,文字控件上处理面向对象的数据就很吃力。这时就需要使用JFace viewer,它为SWT控件提供了面向对象的封装。
|
5.1. 面向目录的Viewer
JFace viewer包括 ListViewer, TableViewer, 和 treeViewer, ,通过它们你可以直接使用域模型对象(例如,像公司,人,部门这样的业务对象),而不用手工将它们分解成基本的字符,数字,图片。这些viewer提供了适配接口来做作这些事情,包括接受一个条目的标签(图片和文字),访问一个条目的子节点(如果是树),从列表中选择条目,为条目排序,过滤条目,将一个随意输入的对象转化为适合底层的SWT控件显示。 (see Figure 5-1).
|
5.1.1. 标签供给器
标签供给器是viewer中最常用的适配器之一。它负责在控件中映射域模型对象到可显示的文字和图片。
两个最常用的标签供给器是 ILabelProvider (参考 Figure 5-2), 它在列表和树中使用, ITableLabelProvider (参考 Figure 5-3),它是在表格中使用。 ILabelProvider 是映射一个条目到单个图片和文字,ITableLabelProvider 是映射一个条目到多个图片和文字(对应表格中的每一列)。 viewer通过 setLabelProvider() 方法来使用标签供给器
defined by ILabelProvider中定义的方法包括:
getImage(Object) 返回给定元素对应的图标.
getText(Object) 返回给定元素对应的文字。
ITableLabelProvider 中定义的方法包括:
getColumnImage(Object, int) 返回给定元素的指定列对应的图标。
getColumnText(Object, int) 返回给定元素的指定列对应的文字。
使用标签供给器的程序例子, 参见5.1.6 节, ListViewer 类。
|
5.1.2. 内容供给器
内容供给器为viewer提供了在一个或多个域模型对象和viewer所需要的内部目录结构之间的映射,域模型对象是从外界输入到viewer中的。
两个最常用的内容供给器是 IStructuredContentProvider, 它使用在列表和表格中, ITreeContentProvider, 使用在树中 (参见 Figure 5-4). tt>IStructuredContentProvider映射一个域模型到一个数组对象,ITreeContentProvider则支持获取某个节点的 父节点和字节点(在树中使用)。viewer通过 setContentProvider() 方法来使用内容供给器。域模型通过setInput() 方法输入到viewer中。
IStructuredContentProvider定义的方法包括:
getElements(Object)Object作为给定的输入对象,返回对应的 要在viewer显示的元素。
inputChanged(Viewer, Object, Object) 输入的数据发生变化时的,需要进行的动作。
ITreeContentProvider 定义的方法包括:
Object[] getChildren(Object) 返回给定元素的子节点。该方法同 getElements(Object) 的区别在于后者用来获取整棵树的根节点,而它是用来获取每个节点的子节点(当然也包括根节点)。
getParent(Object) 返回给定元素的父节点或者返回 null来表示没有父节点。
hasChildren(Object) 返回该元素是否有子节点。
内容供给器的程序例子参见 5.1.6 节, ListViewer 类。
|
分享到:
相关推荐
JFace-viewer例子JFace-viewer例子JFace-viewer例子JFace-viewer例子
eclipse swt/jface 核心应用 part 1
org.eclipse.jface.nl1_3.2.1.v200609270227.jar org.eclipse.jface.text.nl1_3.2.1.v200609270227.jar
全书共分5篇,第1篇介绍了SWT产生的背景以及SWT的一些基本概念和基础知识。第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace框架的知识及其...
org.eclipse.nebula.jface.gridviewer_1.0.0.jar org.eclipse.nebula.widgets.grid_1.0.0.jar
全书共分5篇,第1篇介绍了SWT产生的背景以及SWT的一些基本概念和基础知识。第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace框架的知识及其...
swt/Jface用到的最基本的jar包
jface programing
JFace教程 网盘
Eclipse SWT_JFace开发实战精解
快速学习swt jface eclipse 开发
SWT/JFace开发实例
SWT JFACE 编程笔记 , 比较适合刚 解除 java swt jface 的开发人员
SWT Jface知识点,Eclipse SWT/JFace核心应用
SWT和Jface开发使用必使用jar包之:jface核心jar包,配置其他使用
swt jface jar swt jface jar swt jface jar
SWT/JFACE API,是关于SWT/JFACE开发所用的API
Eclipse SWT/JFace SWT JFace 实例 Eclipse SWT/JFace 书中 全部实例
全书共分5篇,第1篇介绍了SWT产生的背景以及SWT的一些基本概念和基础知识。第2篇介绍了SWT基本控件的使用,以及事件处理、布局等SWT基本知识的应用。第3篇介绍了关于SWT的高级应用。第4篇介绍了JFace 框架的知识及其...
学习SWT、Jface的必备!SWT和Jface源代码让你彻底的了解SWT和Jface!