在JTree中动态添加节点

时间:2016-12-20 14:39:49

标签: java arrays dynamic jtree defaultmutabletreenode

我在向JTree动态添加节点时遇到了问题。

我通过json格式的RestAPI收到我的JTree信息。 我需要的信息是folderID和folderName。

folderID结构是这样的:

1
1.1
6.8
7.1.1.1
1.2
etc.

所以我需要通过folderIDs的点来定义我的nodelevel。 我搜索了一些代码并找到了这个代码。

Dynamically add nodes in a JTree

但是当我实现代码时,我收到一条错误消息:root无法解析为变量

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));

        }

你能帮我找到解决问题的方法吗?

1 个答案:

答案 0 :(得分:0)

您必须先定义根目录:

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

然后,您可以通过向根节点添加节点来开始向JTree添加节点。