2011-11-29 3 views
2
I 자바 일 예에서 찍은 JTreeTable 사용하고

.. I는 다음의 구조가 접힌 3 노드를 나타내는JTreeTable 선택 리스너 인덱스

+1 
+4 
+7 

을 ..

-1 
--2 
---3 
-4 
--5 
---6 
-7 
--8 
---9 

그리고 이것은 확장 된 구조입니다. ListSelectionModel에 ListSelectionListener를 추가했습니다.

난의 valueChanged (ListSelectionEvent 전자) 방법에있을 때 I 접힌 구조에서 노드 "4"..을 선택한다고 가정

e.getFirstIndex() is equal to 1 (because at the index 0 there is the node "1") 

하지만 인덱스가 전혀없는 것을 의미하지만 구조의 상태와 관련이있다. 내가 다시 이런 식으로

e.getFirstIndex() is equal to 3 

"4"노드를 선택 나는 구조를 확장하면 사실 후에 나는 의적 내 트리 테이블에서 선택된 행을 식별 할 수 아니에요. 이 문제를 어떻게 해결할 수 있는지 알고 계십니까? 는

답변

3

는 노드에의 TreePath를 필요로 감사 중

TreePath path = treeTable.pathForRow(selected); 

직접 TreeSelectionModel에 들어요. 비록 오래된 treeTable이 그것을 노출하는지 확실하지 않습니다. SwingX project에서 JXTreeTable을 더 잘 사용하십시오. 그 이후로 아주 먼 거리에 있습니다 :-)

+0

고맙습니다 ... 저는 TreePath를 사용하여 해결했습니다 ... – marco