모든 하위 항목이 선택되어 있는지 수동으로 확인한 다음 수동으로 다시 부모의 상태를 일치로 설정할 수 있습니다.
tree.addCheckListener(new CheckChangedListener<ModelData>() {
public void checkChanged(CheckChangedEvent<ModelData> event) {
ModelData lastParent = null;
for (ModelData item : tree.getCheckedSelection()) {
BaseTreeModel btm = (BaseTreeModel)item;
if (lastParent != null && btm.getParent() == lastParent) {
continue;
}
boolean allChildrenChecked = true;
for (ModelData modelData : btm.getParent().getChildren()) {
if (!tree.isChecked(modelData)) {
allChildrenChecked = false;
break;
}
}
tree.setChecked(btm.getParent(), allChildrenChecked);
lastParent = btm.getParent();
}
}
});