使用单元格值执行操作后的JTable RowSorter

时间:2014-03-15 11:23:01

标签: java string swing jtable rowsorter

我有单元格,我必须在排序行之前执行一些操作。例如:如果给出了一个字符串,我将其转换为其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();

我尝试并操纵了arraylist(list_ar)但转换为Object数组时Arraylist将地址作为其元素。请推荐我正确的方法来执行此类操作。

1 个答案:

答案 0 :(得分:0)

  

以下代码用于按字母顺序排序。但我不希望这样。

不要在TableModel中存储String。

而是存储Integer值。您还需要覆盖TableModel的getColumnClass()方法,以返回该列的Integer.class。然后JTable将使用适当的Comparator对整数值进行排序。