在我的应用程序中,我需要能够从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。
感谢您花时间在这个主题上!
答案 0 :(得分:6)
treeView.setRoot(null);
应该有用。