2011-11-29 58 views
2

我使用来自Java太阳示例截取的JTreeTable .. 我有以下结构: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中选定行。 你知道我该如何解决这个问题? 谢谢

回答

3

你需要的TreePath到节点,无论是

TreePath path = treeTable.pathForRow(selected); 

或直接听取TreeSelectionModel的。不过,不知道这个老式的TreeTable是否会公开它。更好地使用SwingX project中的JXTreeTable,自此之后它已经走了一段很远的距离:-)

+0

谢谢......我用TreePath解决了...... – marco