上边介绍了,tableviewer,这里介绍一下treeViewer,总的流程类似。
一、构造一个树形结构的数据出来,这里选择国家、城市、人来构造一个树形结构,代码如下:
1,定义一个接口

Swt/Jface treeViewer的使用package model;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import java.util.List;
Swt/Jface treeViewer的使用

2,国家

Swt/Jface treeViewer的使用package model;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import java.util.ArrayList;
Swt/Jface treeViewer的使用
import java.util.List;
Swt/Jface treeViewer的使用

3,城市
Swt/Jface treeViewer的使用package model;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import java.util.ArrayList;
Swt/Jface treeViewer的使用
import java.util.List;
Swt/Jface treeViewer的使用

4,人
Swt/Jface treeViewer的使用package model;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import java.util.ArrayList;
Swt/Jface treeViewer的使用
import java.util.List;
Swt/Jface treeViewer的使用

5,把这些元素组织起来
Swt/Jface treeViewer的使用package model;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import java.util.ArrayList;
Swt/Jface treeViewer的使用
import java.util.List;
Swt/Jface treeViewer的使用

二、定义内容器和标签器
1,内容器
Swt/Jface treeViewer的使用import java.util.List;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import model.Itree;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.IStructuredContentProvider;
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.ITreeContentProvider;
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.Viewer;
Swt/Jface treeViewer的使用
    }
2,标签器:
Swt/Jface treeViewer的使用import model.Itree;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.ILabelProvider;
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.LabelProvider;
Swt/Jface treeViewer的使用
import org.eclipse.swt.graphics.Image;
Swt/Jface treeViewer的使用
    }
三、好了,准备工作做好了,把上边的内容利用起来就好了。
Swt/Jface treeViewer的使用import model.Factory;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用
import org.eclipse.jface.viewers.TreeViewer;
Swt/Jface treeViewer的使用
import org.eclipse.swt.SWT;
Swt/Jface treeViewer的使用
import org.eclipse.swt.layout.FillLayout;
Swt/Jface treeViewer的使用
import org.eclipse.swt.widgets.Display;
Swt/Jface treeViewer的使用
import org.eclipse.swt.widgets.Shell;
Swt/Jface treeViewer的使用
import org.eclipse.swt.widgets.Tree;
Swt/Jface treeViewer的使用
Swt/Jface treeViewer的使用

看看是不是已经实现了treeViewer
四、上边是简单的treeViewer,如果我们需要带checkbox的treeViewer,简单,只需要更改
Swt/Jface treeViewer的使用final TreeViewer treeViewer = new TreeViewer(shell, SWT.BORDER|SWT.H_SCROLL);
Swt/Jface treeViewer的使用
把TreeViewer换成CheckboxTreeViewer。这就是mvc的好处了。
但现实中我们多用ContainerCheckedTreeViewer代替CheckboxTreeViewer,因为这个提供了更多的功能。
CheckboxTreeViewer是TreeViewer的子类,  ContainerCheckedTreeViewer是CheckboxTreeViewer的子类,所以可以随便替换。
替换后:
Swt/Jface treeViewer的使用final ContainerCheckedTreeViewer treeViewer = new ContainerCheckedTreeViewer(shell, SWT.BORDER|SWT.H_SCROLL);
五、treeviewer和tableviewer都介绍过了,考虑一下把两个结合起来是不是我们经常需要的情况。尝试一下吧。
六、souce下载:http://www.blogjava.net/Files/dreamstone/jface-6.rar

相关文章: