1
我是使用JTree的新手,如果我忽略了一些非常基本的東西,請耐心等待。我正在Jtree文件瀏覽器上工作。它需要一個目錄,添加節點,選擇節點和所有好東西。基礎已經完成。額外的實現包括給出所選節點的文件/文件夾大小,這非常簡單。但問題在於試圖搜索樹。它認識到該文件存在。但是遞歸由於某種原因而重複出現?價值不能正常返回。我已經包含了兩種方法供參考。如果有與此有關的閱讀,它也將不勝感激。JTree搜索遞歸問題
public void searchTree(String find)
{
TreePath root = tree.getPathForRow(0);
System.out.println(search (root, find));
}
public String search (TreePath path, String find)
{
TreeNode currentNode = (TreeNode)path.getLastPathComponent();
String findPath = null;
if (currentNode.isLeaf() && currentNode.toString().startsWith(find))
{
findPath = path.getPath()[path.getPath().length-2].toString() + File.separator + path.getPath()[path.getPath().length-1].toString();
return findPath;
}
if (!currentNode.isLeaf() && currentNode.getChildCount()> 0)
for (int i = 0; i < currentNode.getChildCount(); i++)
search(path.pathByAddingChild(currentNode.getChildAt(i)), find);
return findPath;
}
更準確地說,搜索輸出顯示兩次。我究竟做錯了什麼???