我使用的 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 中选定的行。 你知道我该如何解决这个问题吗? 谢谢
最佳答案
您需要节点的 TreePath,或者
TreePath path = treeTable.pathForRow(selected);
或者直接监听TreeSelectionModel。不过,不确定旧的树表是否公开了它。更好地使用 SwingX project 中的 JXTreeTable ,从那时起已经走了很长一段路了:-)
关于java - JTreeTable 选择监听器索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307440/