2

我正在使用从 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 中选定的行。你知道我该如何解决这个问题吗?谢谢

4

1 回答 1

3

您需要节点的 TreePath,要么

TreePath path = treeTable.pathForRow(selected);

或者直接听 TreeSelectionModel。不过,不确定那个旧的 treeTable 是否会暴露它。更好地使用SwingX 项目中的 JXTreeTable ,从那时起它已经走了很长一段路:-)

于 2011-11-29T08:23:35.793 回答