我用的是DefaultTableModel,然后对DefaultTableModel.getIndexes()排序.可是它明明已经排了序了.

解决方案 »

  1.   

    SUN的Swing Tutorial教程里面关于JTable排序给出了一个方案,你可以参考一下
    用一个TableSorter类来专门负责排序
      

  2.   

    DefaultTableModel.getIndexes()好象不是排序的功能哦!!!
      

  3.   

    DefaultTableModel.getIndexes()可以得到列的排列顺序,修改它就可以达到重新排序的效果.可是,我明明已经排好序了的.row  data
     1     5
     2     3
     3     2
     4     4
     5     1排序前
    indexes= 1,2,3,4,5
    排序后
    indexes= 5,3,2,4,1
    显示一切正确然后这时你再用addRow或insertRow或removeRow后就会发现列表又变成了原来的样子,也就是
    indexes又重新变成了 1,2,3,4,5,....
      

  4.   

    还是求人不如求己,终于搞定了去TMD的fireTableDataChanged, 自己对它内部的dataVector排序去.
      

  5.   

    SUN的Swing Tutorial教程里面关于JTable排序给出了一个方案,你可以参考一下
    用一个TableSorter类来专门负责排序-----------------------
    同意
      

  6.   

    谢谢诸位的关注,我已经搞定了.DefaultTableModel里有个dataVector,直接对里面的数据进行比较排序,速度很快.TableSorter的代码看的有些不明不白,不爽.