JTable没有数据的话,点击表头自动排序会出现以下异常
java.lang.ArrayIndexOutOfBoundsException:0 >= 0
解决办法就是:仅仅在JTable中被装入了数据时,才设置AutoCreateSorter为true,否则就将其关闭。
注意,这里是另外一个trick,你不能简单地通过调用setAutoCreateSorter(false)的办法让JTable不再为每个列自动生成Sorter对象,而要用JTable.setRowSorter(null)的方法来做到这一点!
jtable.setRowSorter(null);
if(tableModel.getRowCount > 0){
jtable.setAutoCreateRowSorter(true);
tableModel.fireTableDataChanged();
}