JTable中负责显示的是TableCellRenderer.而JTable默认是DefaultTableCellRenderer来渲染,其实就是个JLable。你可以看一下DefaultTableCellRenderer的API,  
public Component getTableCellRendererComponent(JTable table, Object value,
   boolean isSelected, boolean hasFocus, int row, int column)
这个方法决定了显示的效果。
而默认只是把value toString()了。如果你想显示为图片,则需要重写此方法:import java.awt.Component;import javax.swing.Icon;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;public class SupportIconTableCellRenderer extends DefaultTableCellRenderer { @Override
 public Component getTableCellRendererComponent(JTable table, Object value,
 boolean isSelected, boolean hasFocus, int row, int column) {
 super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
 row, column); if (value instanceof Icon) {
 this.setIcon((Icon) value);
 // remove lable's text
 this.setText("");
 } return this;
 }}
简单实现了下,自己可以根据需要扩展。