JTreeTable выборка индексов слушателя - PullRequest
2 голосов
/ 29 ноября 2011

Я использую 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 Ответ

3 голосов
/ 29 ноября 2011

вам нужен TreePath для узла, либо

TreePath path = treeTable.pathForRow(selected);

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

...