首页
学习
活动
专区
圈层
工具
发布

复制Jtree
EN

Stack Overflow用户
提问于 2009-09-29 12:46:02
回答 4查看 2.1K关注 0票数 0

我需要创建一个已经存在的树的副本,该树是使用DefaultMutableTreeNode.Edit创建的,因此,我尝试将现有的根节点分配给另一个DefaultMutableTreeNode.Ex:

代码语言:javascript
复制
DefaultMutableTreeNode ABC = new DefaultMutableTreeNode(null);
DefaultMutableTreeNode ABCcopy = new DefaultMutableTreeNode(null);
ABCcopy=ABC;

但是这并没有给我太多的结果。敬请指教。

EN

回答 4

Stack Overflow用户

发布于 2009-09-29 12:47:53

在java中(深度)复制/克隆对象的最简单方法是序列化/反序列化。

票数 1
EN

Stack Overflow用户

发布于 2013-11-26 17:04:14

如果您只使用这两个树来显示一些分层数据,而不修改节点,那么最简单的方法是:

代码语言:javascript
复制
JTree new_tree = new JTree(old_tree.getModel());

如果您计划修改其中一棵树,最好的方法是克隆。

票数 1
EN

Stack Overflow用户

发布于 2009-09-29 14:05:44

下面是一个示例:

代码语言:javascript
复制
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();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1492318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档