JavaFX TreeView在与给定值

时间:2017-11-22 08:08:37

标签: java javafx treeview

  

我正在尝试创建一个标题所说的方法。让我们说我有下面的TreeView,我想添加一个搜索功能,用户可以在其中给出一个值desktop并使用该方法获取具有给定值{的第一个TreeItem { {1}}

我需要这个treeItem.getValue();

  

我想让它开始从TreeView的根目录进行搜索。

enter image description here

  

Java代码:

treeView.getChildren_InAnyDepth_MatchingValue("value");

以上代码因某种原因总是返回null,我现在无法计算出6小时。

2 个答案:

答案 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;
}