2016-12-20 67 views
0

我有問題動態添加節點到我的JTree。在JTree中動態添加節點

我通過JSON格式的RestAPI接收我的JTree信息。 我需要的信息是文件夾ID和文件夾名稱。

的folderID結構是這樣的:

1 
1.1 
6.8 
7.1.1.1 
1.2 
etc. 

所以我需要我的folderIDs的點來定義我的nodelevel。 我已經搜索了一些代碼,並找到了這一個。

Dynamically add nodes in a JTree

但是,當我執行的代碼我得到一個錯誤信息:根本不能被解析爲一個變量

for(String s:list){ 
      String[] substr=s.split("\\."); 
      String parent=substr[0]; 
      for(int i=1;i<substr.length-1;i++){ 
       parent=parent+ "." + substr[i]; 
      } 
      DefaultMutableTreeNode node=null; 
      node=findparentnode(parent,**root**); 


      if(node==null) 
       **root**.add(new DefaultMutableTreeNode(s)); 
      else 
       node.add(new DefaultMutableTreeNode(s)); 

     } 

你能幫我找到我的問題的解決方案?

回答

0

你必須首先定義根:

DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("root") 
JTree tree = new JTree(rootNode); 

然後你就可以開始添加節點到根節點添加到JTree節點。

+0

futhermore *根* *包含運算符*,並不會編譯 – JEY

+0

我已經加入,但我得到一個其它的錯誤:無法進行從類型的靜態參考非靜態方法findparentnode(字符串,DefaultMutableTreeNode) Main – Boki

+0

node = ** findparentnode **(parent,root); – Boki