public void nodesChanged(TreeNode node,int[] childIndices){
  if (node != null) {
    if (childIndices != null) {
      int cCount=childIndices.length;
      if (cCount > 0) {
        Object[] cChildren=new Object[cCount];
        for (int counter=0; counter < cCount; counter++)         cChildren[counter]=node.getChildAt(childIndices[counter]);
        fireTreeNodesChanged(this,getPathToRoot(node),childIndices,cChildren);
      }
    }
 else     if (node == getRoot()) {
      fireTreeNodesChanged(this,getPathToRoot(node),null,null);
    }
  }
}

public void nodesChanged ( TreeNode node , int [ ] childIndices ) { if ( node != null ) { if ( childIndices != null ) { int cCount = childIndices . length ; if ( cCount > 0 ) { Object [ ] cChildren = new Object [ cCount ] ; for ( int counter = 0 ; counter < cCount ; counter ++ ) cChildren [ counter ] = node . getChildAt ( childIndices [ counter ] ) ; fireTreeNodesChanged ( this , getPathToRoot ( node ) , childIndices , cChildren ) ; } } else if ( node == getRoot ( ) ) { fireTreeNodesChanged ( this , getPathToRoot ( node ) , null , null ) ; } } }
invoke this method after you ' ve changed how the children identified by childindicies are to be represented in the tree .
