使用 helper 方法创建树

  要创建树,首先要创建树控件,然后添加 TreeItems 中包装的字符串数据。TreeItems 可以包含其他 TreeItems,这样就可以创建值的层次结构。清单 8 创建了图 7 中所示的树。

 

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->1 // Create the Tree
2 protected Tree createTree(Composite parent, int mode, Node root) {
3     tree = new Tree(parent, mode | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
4     tree.addSelectionListener(new SelectionListener() {
5         :
6      });
7     setTreeContents(root);
8     return tree;
9 }
10 protected void setTreeContents(Node root) {
11     tree.removeAll();
12     TreeItem ti = new TreeItem(tree, SWT.NONE);
13     setTreeItemContents(ti, root);
14 }
15 protected void setTreeItemContents(TreeItem ti, Node root) {
16     ti.setText(root.getName());
17     java.util.List children = root.getChildren();
18     if (children != null && children.size() > 0) {
19         for (Iterator i = children.iterator(); i.hasNext();) {
20             Node n = (Node)i.next();
21             TreeItem tix = new TreeItem(ti, SWT.NONE);
22             setTreeItemContents(tix, n);
23         }
24     }
25 }
26   :
27 // sample creation code
28 protected void addChildren(Node n, int count, int depth, String prefix) {
29     if (depth > 0) {
30         for (int i = 0; i < count; i++) {
31             String name = prefix + '.' + i;
32             Node child = new Node(name);
33             n.addChild(child);
34             addChildren(child, count, depth - 1, name);
35         }
36     }
37 }
38 Node root = new Node("<root>");
39 addChildren(root, 3, 3, "Child");
40 tree = createTree(this, SWT.CHECK, root);
41

  图 7. 树的例子

了解菜单、列表、组合、框表和树(图七)

  复选框是可选的。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值