转自http://blog.matrix.org.cn/page/Kaizen/?anchor=jtable_%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87
JTable 显示图片
Posted on Saturday 2006年01月07日
今天在matrix上面看到的一个关于jtable显示图片的问题,以前我也没有实现过,今天在网上查找了半天,终于是有所了解。原来最基础的AbstractTableModel的getColumnClass不管你列中的类是什么都返回Object.class,而DefaultTableModel并没有覆盖这个方法,JTable中的DefaultTableCellRenderer对Object类的显示处理就是取Object.toString,然后将内容显示,所以不处理的话,程序将会显示图片路径.
所以需要继承AbstractTableModel 并覆写getColumnClass()
public Class getColumnClass(int c) //关键所在,取得对象类
{
return getValueAt(0, c).getClass();
}