2016-06-24 5 views
0

jface 트리 항목을 새로 고침하면 페인트 문제가 발생합니다. 새 항목을 추가하면 새로 고치는 것입니다.jface 트리 항목을 새로 고침하면 페인트 문제가 발생합니다.

treeviewer.refresh (항목) 해당 항목이 많은 하위 항목 (많은) enter image description here

을 가지고 궁극적으로 그것은 그러나 어딘가 7~10초 나중에 후, 새로 고칩니다. 이 페인트 문제를 디버그하기 위해 어떻게 접근합니까?

+0

SWT/JFace는 나무가 매우 큰 나무와 성능 문제가 있습니다. 'SWT.VIRTUAL'과'ILazyTreeContentProvider'를 사용하면 도움이 될 것입니다. –

+1

많은 의미는 몇 개입니까? 그냥 알고 싶어. – SomeDude

+0

약 100 개 항목 – user1328572

답변

0

treeViewer.refresh(item, false);을 사용하면 성능이 향상됩니다. 새 항목의 레이블 만 모든 하위 레이블 대신 조회 및 업데이트됩니다.

http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/viewers/StructuredViewer.html#refresh-java.lang.Object-boolean-

+0

어린이 레이블 표시와 관련된 일부 코드가 최적화되어 있습니다 (레이블을 가져올 때 문자열 연산이 제거되었습니다). 또한 동일한 객체를 볼 때 새로운 객체 세트를 만들어야했습니다. – user1328572