Swing: 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 для выбранных узлов, это было бы очень полезно.

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

0 ответов

Другие вопросы по тегам