我正在尝试创建一个标题所说的方法。让我们说我有下面的TreeView,我想添加一个搜索功能,用户可以在其中给出一个值
desktop
并使用该方法获取具有给定值{的第一个TreeItem { {1}}
我需要这个treeItem.getValue();
。
我想让它开始从TreeView的根目录进行搜索。
Java代码:
treeView.getChildren_InAnyDepth_MatchingValue("value");
以上代码因某种原因总是返回null,我现在无法计算出6小时。
答案 0 :(得分:3)
我知道这已经过时但我会回答这个问题来帮助别人。
public static TreeItem getTreeViewItem(TreeItem<String> item , String value)
{
if (item != null && item.getValue().equals(value))
return item;
for (TreeItem<String> child : item.getChildren()){
TreeItem<String> s=getTreeViewItem(child, value);
if(s!=null)
return s;
}
return null;
}
答案 1 :(得分:1)
public static <T> TreeItem<T> getTreeViewItem(TreeItem<T> item, T value) {
if (item != null) {
if (item.getValue().equals(value)) return item;
for (TreeItem<T> child : item.getChildren()) {
TreeItem<T> s = getTreeViewItem(child, value);
if (s != null) {
return s;
}
}
}
return null;
}