2011-03-16 46 views
0

我想在JTree中重複的節點,但代碼沒有鼠標動作監聽器裏的工作....複製某個節點的JTree

/* DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); 
     def obj = selectedNode.getUserObject() 
     DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode)node.getRoot().getChildAt(0); 
     model.insertNodeInto(selectedNode, parentNode, 0)*/ 
+1

這可能是顯而易見的,但是這些代碼被註釋掉了。如果它在你的實際的JS文件中是這樣的,那麼它不會被執行。 – 2011-03-16 09:45:53

回答

1

我沒有看到一個呼叫「新」此代碼中的任何地方。我錯過了嗎?這不是一個需求或創建一個新的節點?

創建一個新的DMTN並用您想要複製的狀態對其進行初始化。

1

您沒有製作副本,只是嘗試將(現有)節點插入到其他位置。

DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); 
def obj = selectedNode.getUserObject() 
DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode)node.getRoot().getChildAt(0); 
model.insertNodeInto(new DefaultMutableTreeNode(obj), parentNode, 0); 

(明顯的語法錯誤沒有被糾正,我不是你的編譯器。)