问题
组织管理树中的每个学院下面有两类数据,一是学院的部门,另外是学院的班级。要求学院的部门排列在班级的前面。
解决
对TreeViewer设置排序对象。
viewer.setSorter(new TreeSorter());
TreeSorter从ViewerSorter派生,并重写public int category(Object element)方法,该方法返回一个整数,表示一个对象所属的分类,小的值排在前面。
private class TreeSorter extends ViewerSorter {
@Override
public int category(Object element) {
if (element instanceof CollegeDept) {
return 0;
} else {
return 1;
}
}
}