【发布时间】:2014-09-08 14:55:40
【问题描述】:
我正在尝试使我的 jTable 排序数字,但它仍然无法正常工作。我不确定我做错了什么,但一切似乎都很好。
我的代码: 公共静态 javax.swing.JTable jTable1;
public void fillMain() {
jTable1 = new javax.swing.JTable();
//finalcolumns is a List<String> of all my column names
//types is List<Class> of classes of my columns
DefaultTableModel tm = new DefaultTableModel(new Object[0][], new String[] {"testcolumn1", "testcolumn2", "testcolumn3"}) {
@Override
public Class<?> getColumnClass(int col) {
System.out.println("Class: " types.get(col).toString());
//here it really returns the right column class (Integer.class)
return types.get(col);
}
@Override
public int getColumnCount() {
return finalcolumns.size();
}
@Override
public String getColumnName(int col) {
return finalcolumns.get(col);
}
};
jTable1.setModel(tm);
jTable1.setAutoCreateRowSorter(true);
}
正如我在代码中标记的那样,我正在覆盖 DefaultTableModel 方法,并且覆盖正常工作,我覆盖的所有方法都返回正确的值。
所以它就像:TableModel 说:“此列是 Integer 类,它包含整数对象,所以我将其排序为字符串”。
为什么会这样?
【问题讨论】:
标签: java sorting jtable numbers integer