JTable RowSorter 顺序错误

JTable RowSorter order wrong

我导入了javax.swing.table.TableRowSorter;

在 table 模型中使用了它。它适用于字符串,但对于数字,它以一种奇怪的方式对所有内容进行排序,如图所示。我是个编码菜鸟,所以我真的不知道如何正确 google 解决这样的问题。

 DefaultTableModel model = new DefaultTableModel();
 table.setAutoCreateRowSorter(true);

不确定您是否还需要更多代码。这是一团糟,因为在我开始这个之后,面向对象的编码出现在学校里。

你的问题是你的排序是按字母顺序排序,这对 String 对象很有效,但是一旦你有 Integers 排序,你就会遇到 2 > 19 的情况,因为按字母顺序 2 在 1 之后。

你需要这样的东西:

DefaultTableModel model = new DefaultTableModel(data,columns) {
    @Override
    public Class getColumnClass(int column) {
        switch (column) {
            case 4: {
                //assuming that the int column you have is in the fourth column
                return Integer.class; 
            } break;
            default:
                return String.class;
        }
    }
};

其中 dataObject[][]columnsObject[]