GOX*_*LUS 2 java treeview javafx
我正在尝试创建一种方法来执行标题所说的操作。假设我有下面的 TreeView ,我想添加一个搜索功能,用户可以在其中提供例如一个值
desktop并使用该方法获取具有给定值的第一个 TreeItemtreeItem.getValue();
我正是需要这个treeView.getChildren_InAnyDepth_MatchingValue("value");。
假设我希望它从 TreeView 的根开始搜索。
代码:
/**
* Find the first TreeItem matching the given value
*
* @param item
*/
public TreeItem getTreeViewItem(TreeItem<String> item , String value) {
if (item != null && item.getValue().equals(value))
return item;
for (TreeItem<String> child : item.getChildren())
getTreeViewItem(child, value);
return null;
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,上面的代码总是返回 null,我现在不知道 6 个小时。
小智 7
我知道这是旧的,但我要回答这个以帮助他人。
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;
}
Run Code Online (Sandbox Code Playgroud)