JTable - AutoRowSorter - getColumnClass - 不工作

时间:2013-03-19 17:45:07

标签: java swing model jtable

在我的表模型中,我有一个ArrayList<ArrayList<Object>>,其中包含我的数据。

已从.csv文件中读取数据,每条记录的格式为:

  

7.68573749,-8.551567,21,276,AUD,AAA,7.224,1002,250,AUD Eurobonds Secondary,01/02/1996,T00001

我尝试使用适当的类型读取每个单元格,但是,例如,7.68573749不会使用扫描程序方法nextDouble()读入。因此,默认情况下,所有内容都以String的形式读入。

所以我的TableModel扩展了AbstractTableModel,并且我已经使用硬连线的类型数组覆盖了getColumnClass方法,getColumnClass(int col)返回了相应的类等

不幸的是,我仍然无法将每个单元格设置为合适的类型,因为我收到错误: 尝试使用Double.Class时,无法将Object渲染为数字。

但我可以将所有内容设置为String或Integer。

但即便如此,AutoRowSorter仍然只按字符串对每列进行排序。

我可以发布代码,但是有很多代码,我可以在具体询问需要时提供它。

任何帮助都会很棒,谢谢,这里的最终目标是能够正确排序表格数据

1 个答案:

答案 0 :(得分:1)

尝试将列的数据类型设置为double,然后使用Double.valueOf()将String数转换为Double,同时将其插入JTable

示例

for(int i=0;i<ss.length;i++)
  {
   table_model_object.addRow(i,Double.valueOf(ss[i]);
   }