在我的表模型中,我有一个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
仍然只按字符串对每列进行排序。
我可以发布代码,但是有很多代码,我可以在具体询问需要时提供它。
任何帮助都会很棒,谢谢,这里的最终目标是能够正确排序表格数据
答案 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]);
}