在对行进行排序之前,我必须对单元格执行一些操作。例如:如果给定一个字符串,我将其转换为其ASCII值的总和。然后我要根据ASCII值的总和对JTable进行排序。下面的代码用于按字母顺序排序。但我不希望那样。
DefaultRowSorter sorter = ((DefaultRowSorter) jTable1.getRowSorter());
ArrayList list_ar = new ArrayList();
list_ar.add(new RowSorter.SortKey(2, SortOrder.ASCENDING));
sorter.setSortKeys(list_ar);
sorter.sort();
我尝试实验和操纵数组列表(list_ar
),但数组列表转换为对象数组时,给出地址作为其元素。
下面的代码用于按字母顺序排序。但我不希望那样。
不要在TableModel中存储String
存储Integer
值。您还需要覆盖TableModel的getColumnClass()
方法,以返回该列的Integer.class
。然后,JTable将使用适当的Comparator对整数值进行排序。