我正在尝试在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>
添加到我的函数中来进行编译的唯一方法。这不起作用
答案 0 :(得分:4)
您的代码不是很清楚,但如果您希望第二列类为Integer,则只需覆盖它:
DefaultTableModel m = new DefaultTableModel() {
@Override
public Class<?> getColumnClass(int column) {
if (column == 1) {
return Integer.class;
}
return super.getColumnClass(column);
}
};