|
import java.lang.reflect.Field;
import org.eclipse.jface.viewers.ILabelProviderListener; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.swt.graphics.Image;
/** * @author house * * TODO 要更改此生成的类型注释的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ public class TableViewerLabelProvider implements ITableLabelProvider {
/* (非 Javadoc) * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int) */ public Image getColumnImage(Object element, int columnIndex) { // TODO 自动生成方法存根 return null; }
/* (非 Javadoc) * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int) */ public String getColumnText(Object element, int columnIndex) { // TODO 自动生成方法存根 Class pe = null; pe=element.getClass(); Field[] field=pe.getFields(); try { return field[columnIndex].get(element).toString(); } catch (IllegalArgumentException e1) { // TODO 自动生成 catch 块 e1.printStackTrace(); } catch (IllegalAccessException e1) { // TODO 自动生成 catch 块 e1.printStackTrace(); } // if(columnIndex==0){return p.getId().toString();} // if(columnIndex==1){return p.getName();} // if(columnIndex==2){return p.getSex()? "man":"woman";} // if(columnIndex==3){return p.getDate().toString();} return ""; }
/* (非 Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void addListener(ILabelProviderListener listener) { // TODO 自动生成方法存根 }
/* (非 Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() */ public void dispose() { // TODO 自动生成方法存根 }
/* (非 Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String) */ public boolean isLabelProperty(Object element, String property) { // TODO 自动生成方法存根 return false; }
/* (非 Javadoc) * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener) */ public void removeListener(ILabelProviderListener listener) { // TODO 自动生成方法存根 } }
用
Class pe = null; pe=element.getClass(); Field[] field=pe.getFields(); return field[columnIndex].get(element).toString(); 取代原有的// if(columnIndex==0){return p.getId().toString();} // if(columnIndex==1){return p.getName();} // if(columnIndex==2){return p.getSex()? "man":"woman";} // if(columnIndex==3){return p.getDate().toString();} 当多个类进行调用时也不须修改此类。但应该注意视图应包括持久化类的全类字段。
|