我目前在我的 JTable 上使用以下方法对列进行自动排序
table.setAutoCreateRowSorter(true);
这目前允许我单击每个标题,相应的列将对任何带有字母的内容进行排序。当它试图对我的具有整数的列进行排序时,它搞砸了。它似乎是一次对每个数字进行排序,而不是按实际数字排序。例如,它会说 8 大于 100,因为 8 大于 1。有什么方法可以覆盖此行为吗?
最佳答案
It is messing up when it tries to sort my columns that have integers
可能是因为:
- 您将数字存储为字符串,或者
- 您将数据存储为 Integer 对象,但没有重写 TableModel 的
getColumnClass()
方法以返回该列的Integer.class
。只有当您的列类正确时,才会使用适当的比较器。
请参阅 Concepts: Renderers and Editors 上的 Swing 教程部分了解更多信息以及如何覆盖 getColumnClass() 方法的示例。
关于java - 使用 JTable 的默认列排序器对整数进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19846360/