当前位置: 首页 > 知识库问答 >
问题:

Java FX删除树视图根项目

慕乐池
2023-03-14

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

我给树景注入了控制器

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中找不到任何方法,我不想创建新实例,我更喜欢依赖项注入解决方案。我想我可以在创建下一个节点之前隐藏此项,但它似乎有点不正常。

谢谢你花在这个话题上的时间!

共有1个答案

贲凌
2023-03-14
treeView.setRoot(null);

应该有用。

 类似资料:
  • 我想创建元素的外观和行为如下所示。 有一个黑暗的背景和4个元素的顶部列表:“biblioteki”,“Analiza”等等。当我们点击其中一个项目时,列表将展开,该项目及其子项目的背景为浅黑色。此外,从子列表中选择的项目将获得不同的字体(粗体和白色)。任何时候只能展开一个项目。 所以我发现这是树视图行为,应用了适当的样式。我使用以下代码来实现它: 有方法获取(图标),如果它是为该元素定义的,并且获

  • 主要内容:基本语法,删除视图删除视图是指删除 MySQL 数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。 基本语法 可以使用 DROP VIEW 语句来删除视图。 语法格式如下: DROP VIEW <视图名1> [ , <视图名2> …] 其中: 指定要删除的视图名。DROP VIEW 语句可以一次删除多个视图,但是必须在每个视图上拥有 DROP 权限。 删除视图 【实例】删除 v_students_

  • 我有一个这样的列表视图 这很好,因为它会遍历我的 table1 项。该列表包含名称和价格。我的问题是如何通过鼠标点击一个项目来删除项目,然后点击一个说删除的按钮?我看到的问题是,我不知道有多少项目可用,这取决于用户添加了多少个项目。

  • 这是不是意味着我没有刷新我的适配器还是什么? @重写公共void onDeleteClick(int position){FoodInfo selectedItem; 食物适配器 } 这是我删除项目后的删除方法,它仍然存在于我的回收视图中,并在firebase中消失 我必须离开这个页面并再次访问,然后它只显示与firebase完全相同的项目 有人帮忙吗?

  • 我正在实现一个类别映射器。有2树视图。两者都包含来自不同来源的类别。(即使他们看起来像来自同一个来源) 用户应该能够将一个类别从左侧映射到右侧树状视图的多个。它存储在配置文件中。 但是,当视图最初加载并且用户单击左侧的类别时,我想预选右侧的映射类别,从配置文件加载。 我看到我可以用一个选项来做这件事,但是我没有看到一个选项可以用多个选项来做这件事。 我怎样才能做到这一点? 这里有一个ootb正在运

  • 现在,我看到的所有示例都是表单/场景是在代码中生成的,并且treeview绑定到那个控件上的................................................................