我的代码如下,不起作用   String var2="[aaa,bbb,ccc]";
   TreePath tr=new TreePath(var2);  
    //jTree1.expandPath(tr) 这样无效 
      int id=jTree1.getRowForPath(tr); //改为这个,id 始终为-1 
      jTree1.expandRow(id);

解决方案 »

  1.   

    因为光是字符串是不能确定结点的,因为一个结点下面的子结点可能同名,
    但ID不一样,如果你一定要实现,下面是我写的方法,我想你看了应该能实现
    你的要求:
      void expandNode(DefaultMutableTreeNode currNode, Vector vNode){
        int childCount = currNode.getChildCount();
        String strNode = vNode.elementAt(0).toString();
        DefaultMutableTreeNode child = null;
        for(int i=0; i<childCount; i++){
          child = (DefaultMutableTreeNode)currNode.getChildAt(i);
          if(strNode.equals(child.toString()))
            break;
        }
        if(child != null){
           vNode.removeElementAt(0);
           if(vNode.size()>0){
             expandNode(child, vNode);
           }else{
              jTree1.expandPath(new TreePath(child.getPath()));
           }
        }
      }
      

  2.   

    参数(DefaultMutableTreeNode currNode, Vector vNode)
    各指什么?如何得到,解决了肯定给分!
      

  3.   

    参数(DefaultMutableTreeNode currNode, Vector vNode)
    各指什么?如何得到,解决了肯定给分!