在我的应用程序中,我需要能够从 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/