为TreeView设置两个根节点

时间:2014-03-07 20:26:27

标签: javafx javafx-2 javafx-8

有没有办法为一个TreeView设置两个根节点?

我发现很多例子,如果简单的TreeView,但我的情况没有有用的例子。

1 个答案:

答案 0 :(得分:43)

否:一棵树只有一个根节点。

要获得所需效果,请创建一个虚拟根节点并将两个节点添加到其中。使用虚拟根节点创建TreeView并调用tree.setShowRoot(false),这样就不会出现虚节点。

final TreeItem<String> root1 = new TreeItem<>("root 1");
final TreeItem<String> root2 = new TreeItem<>("root 2");
final TreeView<String> tree = createTreeView(root1, root2);

// ...

private TreeView<String> createTreeView(TreeItem<String> root1, TreeItem<String> root2) {
    TreeItem<String> dummyRoot = new TreeItem<>();
    dummyRoot.getChildren().addAll(root1, root2);
    TreeView<String> tree = new TreeView<>(dummyRoot);
    tree.setShowRoot(false);
    return tree ;
}