我使用的是取自java sun示例的JTreeTable。我有以下结构:
+1
+4
+7表示折叠的3个节点..
-1
--2
---3
-4
--5
---6
-7
--8
---9这就是展开的结构。我已经在我的ListSelectionModel中添加了一个ListSelectionListener。
假设我从折叠的结构中选择节点"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中选定的行。你知道我该怎么解决这个问题吗?谢谢
发布于 2011-11-29 16:23:36
您还需要指向节点的TreePath
TreePath path = treeTable.pathForRow(selected);或者直接收听TreeSelectionModel。不过,我不确定那个旧的treeTable是否暴露了它。最好使用SwingX project中的JXTreeTable,从那以后它已经走了很长一段路了:-)
https://stackoverflow.com/questions/8307440
复制相似问题