ITreeContentProvider
을 구현하고 사용자 정의 모델은 Vogella Tutorial JFace이고 카테고리는 Todos 및 Todos가 클래스의 목록으로 카테고리의 하위 항목으로 저장됩니다. 범주. 나는 이클립스 대화 상자 CheckedTreeSelectionDialog
을 사용하고 있으며 어떤 트리 대화 상자와도 같아야하고지도에서 선택된 요소를 가져올 수 있도록 확장했지만 어떤 이유로 든 레벨 1의 treeitem을 얻을 수 있지만 자녀는 할 수 없다. 이유를 이해하십시오.TreeViewer 대화 상자 Java eclipse does not는 트리 항목 children을 제공합니다
public void createMapOfCheckedItems() {
mapOfCheckedElements = new HashMap<Object, List<Object>>();
for (TreeItem level1 : getTreeViewer().getTree().getItems()) {
if (level1.getChecked()) {
List<Object> checkedChildren = new ArrayList<Object>();
for (TreeItem level2 : level1.getItems()) {
if (level2.getChecked()) {
checkedChildren.add(level2.getData());
}
}
mapOfCheckedElements.put(level1.getData(), checkedChildren);
}
}
}
코드는 위이지만 level1.getItems()
빈 treeitem을 반환하지만 선택 대화 상자가 올바르게 부모와 어린이를 보여줍니다.
어떻게 당신이 특정 키의 아이들을 액세스합니까 :
그래서, 당신의 코드는 같은 모양해야합니까? mapOfCheckedElements.get (level1)을 사용합니까? 어쩌면 treeitem을 데이터가 아닌 HashMap에 직접 넣어야합니다. – GGrec
뷰어는 어떻게 만듭니 까? – Behnil
'getTreeViewer()'메소드의 내용을 게시하십시오. – tkotisis