2012-07-11 3 views
0

내 플러그인에서 JFace TreeViewer를 사용하여 트리에 데이터를 표시하고 있습니다. 기본적으로 트리는 확장되지 않으며 + 클릭시에만 레벨로 확장됩니다. 그러나 나는 나무의 전체 항목뿐만 아니라 표시된 것들에 대한 검색 (사용자가 입력 한 텍스트)을 수행해야합니다. +를 클릭 한 후에 만 ​​모든 하위 수준 항목이 느리게로드된다는 것을 이해합니다. 표시된 것뿐만 아니라 나무의 모든 항목을 retieve하는 방법이 있습니까?JFace에서 검색 TreeViewer

답변

2

트리에서 검색은 일반적으로 FilteredTree 클래스를 사용하여 구현됩니다.이 클래스는 쿼리를 배치 할 텍스트 상자가있는 트리를 제공합니다. 그런 다음 FilteredTree 클래스는 필터링 작업을 관리합니다. 환경 설정 대화 상자에서 작동중인 것을 볼 수 있습니다.

사용자의 요구 사항에 맞지 않더라도 FilteredTree 소스를 참조하면 자신의 검색 기능을 구현하는 데 도움이됩니다.

+0

감사합니다. FilteredTree를 살펴 보겠습니다. 하지만 FilteredTree는 검색과 일치하지 않는 모든 잔재 요소를 숨길 것이라고 가정합니다. 어쩌면 FilteredTree를 조정하고 자신의 구현을 사용하면 내 검색에 도움이 될 수 있습니다. – user1519234

+0

오른쪽. 필터링 된 트리는 필터/쿼리와 일치하지 않는 항목을 제거합니다. 이는 큰 트리에서 무엇을 검색하고 있는지 보여주는 좋은 방법입니다. 환경 설정 대화 상자에서 그걸 가지고 놀아서 느낌을 얻으십시오. –

관련 문제