初学JAVA,多多指教,谢谢~
问题如下:
在表格显示时,列名怎么是A,B,C而不是我自己设置的列名
代码如下:
class MyTableModel extends AbstractTableModel
{
final String[] columnNames = {"auser","apass"};
final Object[][] data = {{"jcy","123"}};

public Object getValueAt(int row,int col)
{
return data[row][col];
} public void setValueAt(Object value,int row,int col)
{
if(data[0][col] instanceof Integer)
try
{
data[row][col] = new Integer(value.toString());
fireTableCellUpdated(row,col);
}catch(NumberFormatException e){}
else
{
data[row][col] = value;
fireTableCellUpdated(row,col);
}
} public int getRowCount() 
{
return data.length;
} public int getColumnCount() 
{
return columnNames.length;
}

public boolean isCellEditable(int row,int col)
{
if(row<1)
return false;
else
return true;
}
}

解决方案 »

  1.   

    从DefaultTableModel继承,并在构造方法中执行setColumnIdentifiers(Object[] obj)如:
    setColumnIdentifiers(new String [] {"第一列", "第二列", "第三列", "第四列"});
      

  2.   

    谢谢trumplet
    但是如果要从AbstractTableModel继承,那要怎么改?
    急~急~急~
      

  3.   

    你继承AbstractTableModel时可以实现它的getColumnName方法,不知行不行
    public String getColumnName(int column){
    return columnNames[column];
    }
      

  4.   

    Yeah!
    right!
    问题解决了哈,确实少实现了这个方法哈
    感谢大家的帮助~~