JFace CheckboxTreeviewer를 사용하고 ICheckStateListener를 추가하여 검사 된 요소의 결과를 가져 왔습니다.CheckboxTreeviewer는 이전에 다시로드 한 후에 검사 된 요소를 설정했습니다.
private HashSet<Object> checkElement=new HashSet<Object>();
checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
String childNode=null;
String rootNode=null;
Object changed = event.getElement();
if(changed instanceof ChildFacetNodeVo){
checkElement.add(changed);
ChildFacetNodeVo childFacetNodeVo=(ChildFacetNodeVo)changed;
childNode=childFacetNodeVo.getLabelFacet();
rootNode=childFacetNodeVo.getParent();
//here to get a new result after element checked and put new result to checkboxtreeviewer
List<RootFacetNodeVo> facetNodeVos=createFacetFilter(rootNode,childNode);
if(facetNodeVos!=null){
checkboxTreeViewer.setInput(facetNodeVos);
checkboxTreeViewer.expandToLevel(3);
checkboxTreeViewer.setCheckedElements(checkElement.toArray());
}
}
}
});
을 다음과 같이 코드는 내가 이전에 확인 요소가 선택 해제하지해야 새 요소를 선택한 경우 지금은 필요이다. CheckboxTreeviewer에서 새 입력을 설정할 때 아무 것도 표시되지 않습니다. 그래서 어떻게 checkboxTreeviewer에 prevously 체크 요소를 설정합니까. 예를
p1
-----A1 - previous checked
-----A2
-----A3
-----A4
-----A5
p1
-----A6
-----A7
-----A8 - previous checked
-----A8
-----A9
p1
-----A10
-----A11
나는 많은 문제가 Google 내 문제가 여전히 해결되지 않습니다. –