我需要创建一个已经存在的树的副本,该树是使用DefaultMutableTreeNode.Edit创建的,因此,我尝试将现有的根节点分配给另一个DefaultMutableTreeNode.Ex:
DefaultMutableTreeNode ABC = new DefaultMutableTreeNode(null);
DefaultMutableTreeNode ABCcopy = new DefaultMutableTreeNode(null);
ABCcopy=ABC;但是这并没有给我太多的结果。敬请指教。
发布于 2009-09-29 12:47:53
在java中(深度)复制/克隆对象的最简单方法是序列化/反序列化。
发布于 2013-11-26 17:04:14
如果您只使用这两个树来显示一些分层数据,而不修改节点,那么最简单的方法是:
JTree new_tree = new JTree(old_tree.getModel());如果您计划修改其中一棵树,最好的方法是克隆。
发布于 2009-09-29 14:05:44
下面是一个示例:
FileOutputStream fos = null;
ObjectOutputStream out = null;
try {
fos = new FileOutputStream("somefilename");
out = new ObjectOutputStream(fos);
out.writeObject(ABC);
out.close();
} catch(IOException ex) {
ex.printStackTrace();
}
FileInputStream fis = null;
ObjectInputStream in = null;
try {
fis = new FileInputStream("somefilename");
in = new ObjectInputStream(fis);
ABCCopy = (DefaultMutableTreeNode)in.readObject();
in.close();
} catch(IOException ex) {
ex.printStackTrace();
} catch(ClassNotFoundException ex) {
ex.printStackTrace();
}https://stackoverflow.com/questions/1492318
复制相似问题