一般自定义tablemodel继承自AbstractTableModel,该model重写方法isCellEditable、setValueAt可修改表的行为与显示特性。如重写isCellEditable可设置单元格是否可编辑、setValueAt可设置单元格中放的具体内容
如下类:
class TModel
extends AbstractTableModel {
Object col[] = null;
Object[][] data = null;
public void setCollen(Object[] col) {
this.col = col;
}
public void setObj(Object[][] oo) {
this.data = oo;
}
public int getColumnCount() {
return col.length;
}
public int getRowCount() {
return data.length;
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public String getColumnName(int column) {
return (String) col[column];
}
public Class getColumnClass(int c) {
// return getValueAt(0,c).getClass();
Class outclass = null;
ImageIcon b = new ImageIcon();
if( c == 0 )
{
outclass = b.getClass();
}
else
{
outclass = super.getColumnClass(c);
}
return outclass;
}
public boolean isCellEditable(int row, int col) {
return false;
}
public void setValueAt(Object aValue, int row, int column) {
data[row][column] = aValue;
}
public void clear() {
data = null;
}
}