我进口了javax.swing.table.TableRowSorter;
在表格模型中使用过。它与String一起正常工作,但是使用数字,它以一种奇怪的方式排列所有的东西,如图中所示。我是个编码新手,所以我还不知道如何用谷歌来解决这个问题。

DefaultTableModel model = new DefaultTableModel();
table.setAutoCreateRowSorter(true);不确定你是否还需要更多的代码。这是一个混乱的tbh,因为面向对象的编码出现在学校后,我开始这样做。
发布于 2021-12-16 13:50:37
您的问题是,您的排序是按字母顺序排序,这对于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;
}
}
};其中data是Object[][],columns是Object[]。
https://stackoverflow.com/questions/70379897
复制相似问题