2012-03-24 59 views
2

我正在創建一個項目,我想要創建一系列文件夾,其結構和名稱與我創建的JTree類似。如何在JTree中存儲路徑到節點?

爲了簡化:

如果A是根節點和B和C是其子,在後端,文件夾名稱爲「A」,在位置創建「C:\用戶\薩米\桌面」 ,接下來B和C創建在「C:\ Users \ Sami \ Desktop \ A」

我在猜測如果我遍歷每個節點並獲取它們各自的TreePath,它會使事情變得更容易。

有沒有其他的選擇,我可以去?如果不是如何以及在哪裏存儲特定節點的路徑?

請幫忙。

回答

0

以下代碼是一個SSCCE(簡短的自包含正確示例)。它遍歷樹中的所有節點,並以String形式獲取路徑。從那裏你可以解析字符串到你的目的。

import java.util.Enumeration; 
import javax.swing.JTree; 
import javax.swing.tree.DefaultMutableTreeNode; 
import javax.swing.tree.TreePath; 

public class StoreTreePathExample { 
    public static void main(String[] args){  
    JTree tree = new JTree(); 
    Enumeration en = ((DefaultMutableTreeNode)tree.getModel().getRoot()).preorderEnumeration(); 
     while(en.hasMoreElements()){ 
     TreePath path = new TreePath(((DefaultMutableTreeNode)en.nextElement()).getPath()); 
     String text = path.toString(); 
     System.out.println(text); 
     } 
    } 
} 
+0

挑剔:這是一個_不_ [SSCCE(http://sscce.org/),請查找什麼_self contained_意味着 – kleopatra 2013-07-24 09:25:07

+0

哎呀您的權利,生病編輯 – neokyle 2013-07-24 21:34:52