JTreeTable выбор слушателей индексов

Я использую JTreeTable, взятый из примера Java Sun. У меня есть следующая структура:

+1
+4
+7

который представляет собой свернутый узел 3..

-1
--2
---3
-4
--5
---6
-7
--8
---9

И эта структура расширена. Я добавил ListSelectionListener в мою ListSelectionModel.

Предположим, что я выбрал узел "4" из свернутой структуры... когда я в методе valueChanged(ListSelectionEvent e),

   e.getFirstIndex()  is equal to 1 (because at the index 0 there is the node "1")

Но это значит, что индексы не совсем, а связаны с состоянием структуры. Фактически, если я раскрою структуру и после этого снова выберу узел "4"

   e.getFirstIndex() is equal to 3

Таким образом, я не могу однозначно идентифицировать выбранную строку в моем TreeTable. Вы знаете, как я могу решить эту проблему? Спасибо

1 ответ

Решение

Вам нужен TreePath к узлу, либо

TreePath path = treeTable.pathForRow(selected);

или слушайте непосредственно TreeSelectionModel. Не уверен, что этот старый treeTable предоставляет его. Лучше использовать JXTreeTable из проекта SwingX, с тех пор он прошел большой путь:-)

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