Java FX删除TreeView根项

时间:2014-09-04 18:02:34

标签: javafx treeview javafx-8

在我的应用程序中,我需要能够从TreeView中删除所有项目。

我的TreeView注入i控制器

private @FXML TreeView<Component> treeView;

我的删除代码:

private void deleteSelectedNode() {
    TreeItem<Component> node = treeView.getSelectionModel().getSelectedItem();

    if (node == null) {
        return;
    }

    TreeItem<Component> parent = node.getParent();

    if (parent != null) {
        parent.getChildren().remove(node);
    } else {
        //how to delete root item without parent?           
    }
}

实际问题是:如何删除根元素?我在api中找不到任何方法,我不想创建新实例,我更喜欢依赖注入解决方案。 我想我可以隐藏这个项目,直到下一个节点被创建,但它似乎有点hacky。

感谢您花时间在这个主题上!

1 个答案:

答案 0 :(得分:6)

treeView.setRoot(null);

应该有用。