2011-11-29 54 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