SWT Tree getItems()

时间:2015-12-23 17:24:38

标签: java treeview swt zk items

我试图从特定的SWT树中获​​取所有项目(并从中创建一个zk树 - 不重要)。 问题是我只能获得树的第一项,我不能更深入。我使用tree.getItems()来获取第一个项目,但是当我使用item.getItems()时,我得到一个空数组();

swtTreeToZkTree(treeViewer.getTree().getItems(), zkTreeChildren);


public void swtTreeToZkTree(TreeItem[] treeItems, Treechildren treeChildren) {
    for (TreeItem item : treeItems) {
        Treeitem treeItem = new Treeitem();
        treeItem.setParent(treeChildren);
        Treerow treeRow = new Treerow();
        treeRow.setParent(treeItem);
        Treecell treeCell = new Treecell();
        treeCell.setParent(treeRow);
        treeCell.setLabel(item.getText());

        if (item.getItemCount() > 0) {
            Treechildren treeChildrenSub = new Treechildren();
            treeChildrenSub.setParent(treeItem);
            swtTreeToZkTree(item.getItems(), treeChildrenSub);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

在扩展树的该分支之前,不会创建子节点的TreeItem个对象。

如果您不想扩展整个树,最好使用树的ITreeContentProvider内容提供商并调用getElementsgetChildren方法。< / p>

如果要展开整个树,请调用TreeViewer expandAll()方法。