final CheckboxTreeViewer checkboxTreeViewer = new CheckboxTreeViewer(shell, SWT.BORDER);
// 也可以用 ContainerCheckedTreeViewer ,ContainerCheckedTreeViewer 是 CheckboxTreeViewer 的子类
ICheckStateListener checkStateListener = new ICheckStateListener() {
@Override
public void checkStateChanged(
CheckStateChangedEvent checkstatechangedevent) {
if (checkstatechangedevent.getChecked()) {
checkboxTreeViewer .setSubtreeChecked(checkstatechangedevent
.getElement(), true); // 设置子节点也被选中
}
}
};
checkboxTreeViewer.addCheckStateListener(checkStateListener);