关于一个TableViewer的注解封装(转载)
???? 在项目你可能为多个TableViewer编写多个IContentProvider和多个ILabelProvider ,那么可以采用注解方式减少。TableViewer这些辅助类的编写。(备注源码转载的,在此谢谢源码作者 solonote )
? 这用注解方式类似Hibernate中注解应用消除了xml的描述作用。
?
注解代码重点如下:
一自定义注解类:
?
?
?
package solonote.common.swt.table;import org.eclipse.jface.viewers.Viewer;import org.eclipse.jface.viewers.ViewerSorter;/** * 表中列排序的策略 * @author longgangbai * */public class TableSorter extends ViewerSorter {/** * 表中的一列 */private IColumn column;/** * 是否降序 */private boolean isDescend;/** * 对指定的列排序 * @param column 指定的列 */public void doSort(IColumn column){if(this.column == column)isDescend = !isDescend;else{this.column = column;}}/** * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object) */public int compare(Viewer viewer,Object obj1,Object obj2){if(column == null)return 0;if(isDescend)return column.compare(obj2, obj1);elsereturn column.compare(obj1, obj2);}/** * 返回是否降序 * @return 是否降序 */public boolean isDescend() {return isDescend;}}?
?
?