用反射实现SWT里TableViewer的ITableLabelProvider接口

2016-02-19 15:33 67 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐用反射实现SWT里TableViewer的ITableLabelProvider接口,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - 编程语言 】

  

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;
 }

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  

/* (非 Javadoc)
 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
 */
 public void removeListener(ILabelProviderListener listener) {
 // TODO 自动生成方法存根
 
 }
}

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  用

  

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();}

  当多个类进行调用时也不须修改此类。但应该注意视图应包括持久化类的全类字段。

来源:http://www.tulaoshi.com/n/20160219/1609897.html

延伸阅读
BASIC语言历史悠久,近年来发展迅速。BASIC语言的结构化程度高,易于理解,很适合广大的编程人员使用。而第三代BASIC语言的功能更是日臻完善、强大,使用人员更多。 本文意在向编程经验不十分丰富的读者介绍用BASIC语言设计Windows风格的图形用户接口,起一点抛砖引玉的作用,不妥之处望不吝赐教。程序 在VGA(用Screen12语句设置)方式下...
java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。 注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。 1、元注解 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 1.1、@Retention: 定义注解的保留策略 ...
  ‘ 方法1使用activator方法创建实例 Dim str As String         str = "Form2"  '必须是 命名空间+点+窗体类名(这里假设为命名空间为空)         Dim tempAssembly As [Assembly] = [Assembly].GetExecutingAssembly()   ...
摘要:MySQL数据库作为一种网络数据库性能十分出色,但其在应用软件中使用较少。本文将主要探讨MySQL提供的两种数据库接口 ——(ODBC API和C API)在VC中的应用,并且形成一个类用以封装C API数据库接口的功能。 关键词:MySQL;数据库接口;ODBC API;C API 引言 随着现代计算机软硬件及网络技术的发展,在网上查找资料已成为现在获...
摘要:MySQL数据库作为一种网络数据库性能十分出色,但其在应用软件中使用较少。本文将主要探讨MySQL提供的两种数据库接口 ——(ODBC API和C API)在VC中的应用,并且形成一个类用以封装C API数据库接口的功能。 关键词:MySQL;数据库接口;ODBC API;C API 4 MySQL性能测试 4.1 ODBC API 通过索引读取200万行:528秒 插入35万行: 750...

经验教程

293

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部