将相同的 DefaultMutableTreeNode 添加到 2 个不同的 DefaultMutableTreeNode
Add same DefaultMutableTreeNode to 2 different DefaultMutableTreeNode
我有一个 DefaultMutableTreeNode("birds"),它有 n 个子节点。现在我想将此节点添加到 2 个不同的父节点 DefaultMutableTreeNode("animals") & DefaultMutableTreeNodes("animals2")。
但是因为 DefaultMutableTreeNode 的添加或插入方法首先从它的父节点中移除子节点。 DefaultMutableTreeNode("birds") 仅添加到其中一个父节点中。以后调用哪个为准
有什么解决办法吗?
DefaultMutableTreeNode birds = new DefaultMutableTreeNode("birds");
DefaultMutableTreeNode animals = new DefaultMutableTreeNode("animals");
DefaultMutableTreeNode animals2 = new DefaultMutableTreeNode("animals2");
animals.add(birds);
animals2.add(birds);
如果我正确理解你的问题,最好的方法是创建一个提供 "birds-hierarchy":
的方法
private DefaultMutableTreeNode createBirdsNode() {
DefaultMutableTreeNode birds = new DefaultMutableTreeNode("birds");
// add another nodes to birds node.
return birds;
}
稍后您可以使用此方法添加完整的层次结构。
animals.add(createBirdsNode());
animals2.add(createBirdsNode());
我终于得到了以下解决方案
JTree.DynamicUtilTreeNode.createChildren(DefaultMutableTreeNode parent, Object children)
JTree myTree = new JTree(parent)
这将根节点作为输入,子对象可以是数组、向量或哈希表。我最初使用哈希表来存储树的所有子节点(鸟类),然后将它们添加到 2 个不同的根节点(动物和动物 2)。
我有一个 DefaultMutableTreeNode("birds"),它有 n 个子节点。现在我想将此节点添加到 2 个不同的父节点 DefaultMutableTreeNode("animals") & DefaultMutableTreeNodes("animals2")。
但是因为 DefaultMutableTreeNode 的添加或插入方法首先从它的父节点中移除子节点。 DefaultMutableTreeNode("birds") 仅添加到其中一个父节点中。以后调用哪个为准
有什么解决办法吗?
DefaultMutableTreeNode birds = new DefaultMutableTreeNode("birds");
DefaultMutableTreeNode animals = new DefaultMutableTreeNode("animals");
DefaultMutableTreeNode animals2 = new DefaultMutableTreeNode("animals2");
animals.add(birds);
animals2.add(birds);
如果我正确理解你的问题,最好的方法是创建一个提供 "birds-hierarchy":
的方法private DefaultMutableTreeNode createBirdsNode() {
DefaultMutableTreeNode birds = new DefaultMutableTreeNode("birds");
// add another nodes to birds node.
return birds;
}
稍后您可以使用此方法添加完整的层次结构。
animals.add(createBirdsNode());
animals2.add(createBirdsNode());
我终于得到了以下解决方案
JTree.DynamicUtilTreeNode.createChildren(DefaultMutableTreeNode parent, Object children)
JTree myTree = new JTree(parent)
这将根节点作为输入,子对象可以是数组、向量或哈希表。我最初使用哈希表来存储树的所有子节点(鸟类),然后将它们添加到 2 个不同的根节点(动物和动物 2)。