如何在javafx treeview中返回已删除的treeitems?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在javafx treeview中返回已删除的treeitems?相关的知识,希望对你有一定的参考价值。
我怎样才能在Javafx树视图中返回删除的treeitems?
当我做这样的树。
root-
|-item1
|-item2
|-folder1-
|-item3
|-item4
|-item5
|-folder2-....
|-folder3-....
如果我删除folder1我想获得一些已删除的项目和fodler列表,这意味着如果我删除folder1我想获取item3,item4,item5,folder2,folder3以及位于folder2和folder3中的更多项目的列表。
我用remove()函数删除了这样的treeitem。
folder1.getParent().getChildren.remove(folder1);
在这种情况下,删除节点列表的最佳方法是什么?
答案
添加一个EventHandler
到你的根TreeItem
来处理TreeModificationEvent
s。具体来说,您应该使用TreeItem#childrenModificationEvent()
事件类型监听事件。
TreeItem直接修改其子列表时使用的EventType。
TreeItem<T> root = ...;
root.addEventHandler(TreeItem.<T>childrenModificationEvent(), event -> {
if (event.wasRemoved()) {
List<? extends TreeItem<T>> removed = event.getRemovedChildren();
// Handle removed children. Traverse descendants as needed.
}
});
其中T
是您的价值类型。
以上是关于如何在javafx treeview中返回已删除的treeitems?的主要内容,如果未能解决你的问题,请参考以下文章