Задайте два корневых узла для TreeView

Есть ли способ установить два корневых узла для одного TreeView?

Я нашел много примеров, если простой TreeView, но нет полезного примера для моего случая.

Ответ 1

Нет: дерево имеет только один корень node.

Чтобы получить нужный эффект, создайте фиктивный корень node и добавьте к нему два узла. Создайте TreeView с фиктивным корнем node и вызовите tree.setShowRoot(false), поэтому манекен node не появится.

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 ;
}