用((DefaultTreeModel)tree.getModel()).removeNodeFromParent("child");
添加类似!

解决方案 »

  1.   

    我试过了 用((DefaultTreeModel)tree.getModel()).insertNodeInto(node,root,1);
    可以在root下添加一个结点,但是奇怪的问题出现了,就是我再用原来的系统的功能添加一个结点的时候或者是把树收起来之后,我原来添加的结点居然消失了,这是怎么回事啊,郁闷中
      

  2.   

    你添加好了以后用tree.updateUI()看一下咯
      

  3.   

    你打印tree.getModel()看看,tree的model是不是被设置了,不再是默认的了!
      

  4.   

    用tree.updateUI()好象没什么用啊,问题还是存在,tree的model是继承了DefaultTreeModel
    知道这个有什么用吗
      

  5.   

    如果tree的model是继承了DefaultTreeModel.可能继承的model类把DefaultTreeModel的一些方法给覆盖了,tree model的添加方法不能正确使用.你查一下,看看是不是这个原因.顺便问一下,你使用的JDK版本是多少?
      

  6.   

    是不是他自己定义了一个类。而不是用defaulttreemodel
      

  7.   

    对 他是自己定义了一个类 继承了defaulttreemodel  我用的jdk版本是1。4
      

  8.   

    对了, 问题的原因极有可能是因为他自己定义的那个类把defaulttreemodel类中的一些相关的方法给覆盖了,导致树节点的增加并没有写到树中!或者是树自动把自己的数据还原了!使你的添加操作无效.现在,你最好用 ((树的实际model类)tree.getModel()) 添加方法. 如果是他自己定义的model有问题.修改他的哪个类把!