2014-11-03 2 views
0

편집기 내용에 대한 개요보기를 준비했습니다. 데이터가 TreeViewer로 표시됩니다. 그러나 우리가 그것을 리프레쉬 할 때 전체 트리가 깜빡입니다.깜박임이없는 JFace TreeViewer 새로 고침

전체 트리 새로 고침없이 트리 새로 고침을 수행 할 수있는 방법이 있습니까? 편집 한 노드 다음에 모든 노드를 새로 고치고 싶습니다.

답변

1

'요소'와 그 하위 요소 만 새로 고치려면 TreeViewer.refresh(element)을 사용하십시오.

특정 요소를 업데이트하려는 경우 TreeViewer.update(element, null)을 사용하거나 TreeViewer.update(element array, null)을 사용하여 요소 배열을 업데이트 할 수 있습니다. 이것은 트리 구조의 변경을 처리하지 않습니다.

TreeViewer.add(parentElement, childElement)을 사용하여 뷰어에게 새로운 하위 요소에 대해 알려줄 수도 있고, 요소를 제거하는 다양한 remove 방법이 있습니다.

+0

내 경우에는 업데이트가 작동하지 않으며 새로 고침 (요소)을 이미 사용하고 있습니다. 아직 추가를 사용하지 않았습니다. 시도해보고 사용 방법을 알려 드리겠습니다. 감사합니다. – Raja

+0

대부분의 에디터의 내용 변경에 기반한 새로운 정보를 가진 노드. 다중 노드의 새로 고침은 피할 수 없지만 코드 논리 최적화 후에는 이전과 같이 깜박임이 눈에 띄지 않습니다. 그러나 귀하의 지속적인 지원에 감사드립니다. – Raja

1
treeViewer.getControl().setRedraw(false); 
//Refresh your tree 
treeViewer.getControl().setRedraw(true); 

위 코드가 도움이 될 것입니다.