die*_*rre 5 java user-interface swing jtable abstracttablemodel
我无法弄清楚使用构造函数的东西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;
}
}
Run Code Online (Sandbox Code Playgroud)
我做错了,因为当我运行我的GUI时,我得到标记为A,*B*,C的列名.
Cod*_*nci 15
AbstractTableModel中没有名为getColumnNames的方法,所以我相信你的方法被忽略了.要覆盖的实际方法是getColumnName方法.
尝试将此方法添加到VolumeListTableModel类
public String getColumnName(int column) {
return columnNames[column];
}
Run Code Online (Sandbox Code Playgroud)