如何将数据库中的数据作为为JTree的节点名初始化JTree啊,请大侠帮忙。

解决方案 »

  1.   

    自己写一个model,model里面来组织数据,Jtree初始化使用这个model
      

  2.   

    public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent,
    Object child, boolean shouldBeVisible) {
    DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child); if (parent == null) {
    parent = rootNode;
    } // It is key to invoke this on the TreeModel, and NOT
    // DefaultMutableTreeNode
    int index=parent.getChildCount();
    treeModel.insertNodeInto(childNode, parent, index); // Make sure the user can see the lovely new node.
    if (shouldBeVisible) {
    tree.scrollPathToVisible(new TreePath(childNode.getPath()));
    }
    return childNode;
    }
    为什么我的树只能初始化第一层子节点?帮我看看代码有什么错误
      

  3.   

    insertNodeInto()
    自己去看看这个方法,是不是递归调用的
      

  4.   

    是递归调用的,代码调试的时候都走到了,但是就是不能初始化第3层节点,在root节点下的第2层节点都可以初始化。
      

  5.   

    这段代码应该没有什么问题。只做了一点很简单的事情。
    封装child节点,,调用model的方法增加子节点。逻辑简单,也没有什么分支。
    请着重考虑一下,你的递归是否正确。递归结束的条件是否正确。
    递归,这个函数没有什么递归,从你描述的状况来看还是逻辑控制。你仔细的看看一些逻辑控制的地方有没有问题。