我无法用构造函数JTable(TableModel dm)找出一些东西。
我使用一个LinkedList来管理我的数据,所以,为了显示它,我扩展了AbstractTableModel
public class VolumeListTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private LinkedList<Directory> datalist;
private Object[] columnNames= {"ID", "Directory", "Wildcard"};
public VolumeListTableModel(){
}
public void setDatalist(LinkedList<Directory> temp){
this.datalist = temp;
}
public LinkedList<Directory> getDatalist(){
return (LinkedList<Directory>) this.datalist.clone();
}
public Object[] getColumnNames() {
return this.columnNames;
}
@Override
public int getColumnCount() {
return Directory.numCols;
}
@Override
public int getRowCount() {
return this.datalist.size();
}
@Override
public Object getValueAt(int row, int col) {
Directory temp = this.datalist.get(row);
switch(col){
case 0:
return temp.getId();
case 1:
return temp.getPath();
case 2:
return temp.getWildcard();
default:
return null;
}
}我做错了什么,因为当我运行我的GUI时,我会得到标有A,*B*,C的列名。
发布于 2010-11-16 10:10:31
AbstractTableModel中没有称为getColumnNames的方法,因此我认为您的方法被忽略了。要重写的实际方法是getColumnName方法。
尝试将此方法添加到VolumeListTableModel类中
public String getColumnName(int column) {
return columnNames[column];
}发布于 2010-11-16 10:12:37
您需要重写getColumnName方法,在您的情况下,该方法将非常简单
return columnNames[column];发布于 2010-11-16 10:15:38
您必须重写此方法:
public String getColumnName(int column)https://stackoverflow.com/questions/4192973
复制相似问题