2011-09-24 5 views
2

JTree 노드에서 클릭 한 이전 노드의 다른 노드로 포커스를 이동해야합니다.하나의 JTree 노드에서 다른 노드로 포커스 이동

예 XML 문서 : 나는 JTree가이 점을 만든

<br/> 
<'obo'><br/> 
<'term'><br/> 
<'id'>GO:0001<'/id'><br/> 
<'name'>candida... '<'/name'><br/> 
<'dbname'>' blah blah '<'/dbname'><br/> 
<'is_a'>'GO:0035'<'/is_a'><br/> 
<'/term'><br/> 
<'term'><br/> 
<'id'>'GO:0035'<'/id'><br/> 
<'name'>'candida... '<'/name'><br/> 
<'dbname'>' blah blah '<'/dbname'><br/> 
<'is_a'>'GO:00465'<'/is_a'><br/> 
<'/term'><br/> 
<'/obo'><br/> 

. 이제 사용자가 GO : 0001을 클릭하면 GO : 0035으로 초점을 이동해야합니다.

addTreeSelectionListener()를 사용하려고했지만 내 Eclipse에서 작동하지 않습니다. 내가 루프를 설정할 수있는 각각의 검사를 읽을 수있는 상응하는 경우, 거기에 해당하는 경로를 얻을 G0 : 0001과 setPath에 mouseListener를 추가 GO : 0035. 저는 Java에 익숙하지 않으므로 어떻게해야하는지 잘 모르겠습니다. 제발 도와주세요 !! :(

+0

을 내가 (addTreeSelectionListener에 노력했다)하지만, 그것은 내 Eclipse에서 작동하지 않습니다. hood 나는 각각의 id 태그를 읽을 수있는 루프를 설정할 수 있습니다. 해당 is_a 태그가 있는지 확인하십시오. 해당 is_a 태그가 있으면 경로를 얻고 mouseListener를 G0 : 0001에, setPath를 GO : 0035에 추가하십시오. 나는 Java에 익숙하지 않으므로이 작업을 수행하는 방법을 잘 모릅니다. 제발 도와주세요 !! :( – user962837

답변

2

그것은 당신이 당신의 JTree 또는 TreeModel 구축하는 방법하지 분명하지만 How to Use Trees에서 examples을 찾을 수 있습니다. 당신이 DefaultTreeModel를 사용하는 경우, 모델의 getRoot() 메소드에 의해 반환되는 노드에서 검색 할 수 있습니다, 당신은을 구성 할 수 있습니다 그 목적지 노드 TreePath. 발견 된 노드를 선택하는 나무의 setSelectionPath() 방법을 사용합니다.

을 계속 문제가있는 경우, 귀하의 질문을 수정 사용량을 보여줍니다 sscce를 제공 할 수 있습니다.

관련 문제