1

在我的表模型中,我有一个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 extends AbstractTableModel,我已经getColumnClass使用硬连线的 Class 类型数组覆盖了该方法,并getColumnClass(int col)返回了适当的 Class 等

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

但是,我可以将所有内容设置为字符串或整数。

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

我可以发布代码,但是有很多代码,当被问到具体需要什么时,我可以提供它。

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

4

1 回答 1

1

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

例子

for(int i=0;i<ss.length;i++)
  {
   table_model_object.addRow(i,Double.valueOf(ss[i]);
   }
于 2013-03-19T17:57:50.797 回答