javafx - Java FX 删除 TreeView 根项

标签 javafx treeview javafx-8

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

我已将 TreeView 注入(inject) Controller

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 中找不到任何方法,并且不想创建新实例,我更喜欢依赖注入(inject)解决方案。 我想我可以隐藏这个项目直到创建下一个节点,但这似乎有点hacky。

感谢您花时间讨论此主题!

最佳答案

treeView.setRoot(null);

应该可以。

关于javafx - Java FX 删除 TreeView 根项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672186/

相关文章:

.net - 更改分层 TreeView 中的突出显示颜色

java - 如何在JavaFX中制作自定义LineChart控件?

javafx如何在运行时将按钮图像复制到另一个?

c# - 从 UserControl 访问类方法(XAML、C#、TreeView)

php - Yii 在数据库的下拉列表中显示 TreeView

JavaFX 获取单个调整大小事件

java - 使用 JavaFX DropShadow 移动节点会留下痕迹

variables - FXML 文件中的常量

textarea - JavaFX 文本更改事件

java - 使用 JavaFx 从标签获取值?