Swing: Jtree получает все выбранные узлы с одинаковой иерархией

#xpath #duplicates #jtree #multiselectlistpreference

#xpath #дубликаты #jtree

Вопрос:

У меня есть Jtree, который создается из xml.

Мое требование заключается в том, что пользователь может выбрать несколько узлов в jtree одновременно, а затем одним нажатием кнопки мне нужно получить XPath всех выбранных узлов.

Например, если Xml имеет следующий вид

 Root
       |
       Parent
               |
             Child
               |
             Child
  

И я выбираю оба дочерних узла в jtree, а затем нажимаю на кнопку, которую я должен получить [Root, Parent, Child1] [Root, Parent, Child2].

Я пробовал два способа добиться этого, и оба они не сработали.

В моей первой попытке я использовал tree.getSelectedPaths(), и я смог получить выбранные узлы, но моя проблема связана с несколькими узлами, которые он мне дает [[Root, Parent, Child], [Root, Parent, Child]] .

Я требую, чтобы вывод был [Root, Parent, Child1] [Root, Parent, Child2], который будет соответствовать XPath: /Root/Parent/Child1 и /Root/Parent/Child2

Во второй попытке я также попытался использовать MouseListener для дерева и использовал tree.getPathForLocation(MouseEvent.getX(), MouseEvent.getY()), но в случае множественного выбора из 2 выбранных узлов он всегда выдает мне первый выбранный узел.

Пожалуйста, не могли бы вы помочь мне с этим, даже если существует альтернативный подход для получения XPath для выбранных узлов, это было бы очень полезно.

Заранее спасибо.

Комментарии:

1. Пожалуйста, кто-нибудь может помочь