克隆整个JTree/TreeModel的最简单方法?
问题描述:
我真的必须自己实现深度克隆吗,还是有任何库方法来获得JTree或TreeModel的深度克隆?
Do i really have to implement the deep-clone myself or are there any library methods to get a deep clone of an JTree or it's TreeModel?
答
public IndigoMutableTreeNode cloneNode(IndigoMutableTreeNode node){
IndigoMutableTreeNode newNode = new IndigoMutableTreeNode(node.getUserObject());
for(int iChildren=node.getChildCount(), i=0;i<iChildren; i++){
newNode.add((IndigoMutableTreeNode)cloneNode((IndigoMutableTreeNode)node.getChildAt(i) ) );
}
return newNode;
}
只需传递根节点并获得完整的不同根节点,然后将其传递给新树的新模型即可.
Just pass the root node and get the complete different root node and pass it to a new model of new tree.