具有可变列长的java JTable
我试图读取一个csv文件,并将其设置为转换为另一种格式,以节省工作时间,但当一行的长度小于预期的列时,我加载到的JTable会引发异常。如果行长度<;列长度
以下是表格模型:
private class CSVTableModel extends AbstractTableModel{
private ArrayList<String[]> list;
private String[] columns;
public CSVTableModel() {
this.list = p.getData();
this.columns = p.getHeaders();
}
@Override
public String getColumnName(int col) {
return columns[col];
}
@Override
public int getRowCount() {
return list.size();
}
@Override
public int getColumnCount() {
return columns.length;
}
@Override
public Object getValueAt(int row, int col) {
return list.get(row)[col];
}
@Override
public void setValueAt(Object value, int row, int col) {
list.get(row)[col] = (String) value;
this.fireTableCellUpdated(row, col);
}
}
因此,您可以看到,使用getValueAt(int row,int col)方法,如果col超过字符串[],就会导致错误。长度
# 1 楼答案
我发帖后就解决了。橡皮鸭调试
添加了一个条件,现在可以正常工作了。我以前应该看过的