сделать дубликат узла в Jtree - PullRequest
0 голосов
/ 16 марта 2011

Я хочу сделать дубликат узла в Jtree, но код не работает внутри обработчика действий мыши ....

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

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Вы не делаете копию, вы просто пытаетесь вставить (существующий) узел в другое место.

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

(Очевидные синтаксические ошибки не исправлены, я не ваш компилятор.)

1 голос
/ 16 марта 2011

Я не вижу нигде в этом коде вызова "new".Я пропустил это?Разве это не было бы требованием или созданием нового узла?

Создайте новое DMTN и инициализируйте его с состоянием того, которое вы хотите скопировать.

...