Java setAutoCreateRowSorter不适用于Int';s
我正在尝试对JTable的第二列中的整数进行排序。我使用了Java setAutoCreateRowSorter不适用于Int';s,java,swing,jtable,tablerowsorter,Java,Swing,Jtable,Tablerowsorter,我正在尝试对JTable的第二列中的整数进行排序。我使用了table.setAutoCreateRowSorter(true)但它是按字符串排序的。我试图写一些代码来解决这个问题,但我无法让它工作 DefaultTableModel m = new DefaultTableModel(); String columnName = "Occurrences"; m.addColumn("String"); m.addColumn(columnName); JTable table = new
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
来编译的唯一方法。这不起作用您的代码不是很清楚,但如果希望第二个列类为整数,只需重写它:
DefaultTableModel m = new DefaultTableModel() {
@Override
public Class<?> getColumnClass(int column) {
if (column == 1) {
return Integer.class;
}
return super.getColumnClass(column);
}
};
DefaultTableModel m=新的DefaultTableModel(){
@凌驾
公共类getColumnClass(int列){
如果(列==1){
返回Integer.class;
}
返回super.getColumnClass(column);
}
};
您的代码不是很清楚,但如果希望第二列类为整数,只需覆盖它:
DefaultTableModel m = new DefaultTableModel() {
@Override
public Class<?> getColumnClass(int column) {
if (column == 1) {
return Integer.class;
}
return super.getColumnClass(column);
}
};
DefaultTableModel m=新的DefaultTableModel(){
@凌驾
公共类getColumnClass(int列){
如果(列==1){
返回Integer.class;
}
返回super.getColumnClass(column);
}
};
return super.getColumnClass(column)中出现此错误代码>类型object的getColumnClass(int)方法未定义,那么您没有使用我在回答中给出的代码。此方法必须位于DefaultTableModel的匿名子类中。是否有方法仅将列定义为整数列?是。这就是我的答案。它将第二列定义为包含整数实例的列。@user2007843什么不?您是否希望在不阅读任何api文档的情况下进行任何有用的编程?这是在要求失败;-)我在返回super.getColumnClass(column)时遇到这个错误代码>类型object的getColumnClass(int)方法未定义,那么您没有使用我在回答中给出的代码。此方法必须位于DefaultTableModel的匿名子类中。是否有方法仅将列定义为整数列?是。这就是我的答案。它将第二列定义为包含整数实例的列。@user2007843什么不?您是否希望在不阅读任何api文档的情况下进行任何有用的编程?这是在要求失败;-)