我正在使用从java sun示例中获取的JTreeTable。 我有以下结构:
+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中的选定行。 你知道我怎么解决这个问题? 谢谢
答案 0 :(得分:3)
您需要TreePath到节点,
TreePath path = treeTable.pathForRow(selected);
或直接监听TreeSelectionModel。但是不确定那个旧的treeTable是否暴露了它。更好地使用SwingX project中的JXTreeTable,从那时起它已经走了很远的距离: - )