如何获取treeitem的所有父母?

问题描述:

我在GWT如何获取treeitem的所有父母?

编程我有树,就像

1.A Folder 
    1.Marketing Folder 
    2.Sales Folder 
     1.In Folder 
      1.Invoice.txt 
     2. Out Folder 
    2.B folder 
    1. xyz 
     1.fgh 
    2. abc 
    3.C foder 

如果我Invoice.txt输出点击就应该像

"A folder/Sales FOlder/In FOlder/Invoice.txt" 

我使用的getParent方法来显示但它只显示我

"In folder". 

Plese有人帮助我理解这一点, 我将如何得到完整的路径。

我用的树部件

+3

我不同意这个工作,但它会像你只需要继续前进一路上涨。考虑使用StringBuilder并在每个节点上不断调用'getParent'。 – corsiKa 2012-01-09 11:00:47

+0

你使用gwt Tree Widget,Celltree Widget或简单的HTML树吗? – Stefan 2012-01-09 11:43:37

+0

我正在使用Tree Widget – NewCodeLearner 2012-01-09 12:11:14

private String getPath(TreeItem selectedItem) { 
    StringBuilder builder = new StringBuilder(); 
    buildPath(selectedItem, builder); 
    return builder.toString(); 
} 

private void buildPath(TreeItem item, StringBuilder builder) { 
    if (item.getParentItem() != null) { 

     buildPath(item.getParentItem(), builder); //build path 

     builder.append('/'); 
    } 
    builder.append(item.getText()); 
} 
+0

这段代码的输出给了我null/null/null/null 我把'builder.append(item.getText());' 改为'builder.append(item.getUserObject());'为正确的输出 – NewCodeLearner 2012-01-09 13:23:33