[英]Add same DefaultMutableTreeNode to 2 different DefaultMutableTreeNode
我有一個DefaultMutableTreeNode(“ birds”) ,它有n個孩子。 現在,我想將此節點添加到2個不同的父級DefaultMutableTreeNode(“ animals”) & DefaultMutableTreeNodes(“ animals2”)中 。
但是,由於DefaultMutableTreeNode的add或insert方法首先將子項從其父項中移除。 僅在父節點之一中添加了DefaultMutableTreeNode(“ birds”) 。 以后稱為哪個。
有沒有辦法解決?
DefaultMutableTreeNode birds = new DefaultMutableTreeNode("birds");
DefaultMutableTreeNode animals = new DefaultMutableTreeNode("animals");
DefaultMutableTreeNode animals2 = new DefaultMutableTreeNode("animals2");
animals.add(birds);
animals2.add(birds);
如果我正確理解您的問題,最好的方法是創建一種提供“鳥的層次結構”的方法:
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)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.