setAutoCreateRowSorter不适用于Int的

时间:2013-04-17 19:59:17

标签: java swing jtable tablerowsorter

我正在尝试在JTable的第二列中对整数进行排序。我使用table.setAutoCreateRowSorter(true);但它按字符串排序。我正在尝试编写一些代码来解决这个问题,但我无法让它工作。

DefaultTableModel m = new DefaultTableModel();
String columnName = "Occurrences";  
m.addColumn("String");
m.addColumn(columnName);
JTable table = new JTable(m);
table.setAutoCreateRowSorter(true);


if (m.findColumn(columnName) == 2)
    {
            return Integer.class;
    } else {

            return null;
    }

这是我通过将Class<Integer>添加到我的函数中来进行编译的唯一方法。这不起作用

1 个答案:

答案 0 :(得分:4)

您的代码不是很清楚,但如果您希望第二列类为Integer,则只需覆盖它:

DefaultTableModel m = new DefaultTableModel() {
    @Override
    public Class<?> getColumnClass(int column) {
        if (column == 1) {
            return Integer.class;
        }
        return super.getColumnClass(column);
    }
};