2012-01-09 52 views
2

我在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

回答

3
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