java - 使用 JTable 的默认列排序器对整数进行排序?

标签 java swing numbers jtable rowsorter

我目前在我的 JTable 上使用以下方法对列进行自动排序

table.setAutoCreateRowSorter(true);

这目前允许我单击每个标题,相应的列将对任何带有字母的内容进行排序。当它试图对我的具有整数的列进行排序时,它搞砸了。它似乎是一次对每个数字进行排序,而不是按实际数字排序。例如,它会说 8 大于 100,因为 8 大于 1。有什么方法可以覆盖此行为吗?

最佳答案

It is messing up when it tries to sort my columns that have integers

可能是因为:

  1. 您将数字存储为字符串,或者
  2. 您将数据存储为 Integer 对象,但没有重写 TableModel 的 getColumnClass() 方法以返回该列的 Integer.class。只有当您的列类正确时,才会使用适当的比较器。

请参阅 Concepts: Renderers and Editors 上的 Swing 教程部分了解更多信息以及如何覆盖 getColumnClass() 方法的示例。

关于java - 使用 JTable 的默认列排序器对整数进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19846360/

相关文章:

generics - 使用 F# 的静态类型参数和编码数字常量

java - 获取要加载的类所需的类列表

java - 如何将按下 "enter"与单击按钮相关联?

java - getTableCellRendererComponent 参数的含义

javascript - 有没有办法将长度大于 15 的字符串转换为数字,而不进行四舍五入?

java - 正则表达式仅允许使用数字,连字符,方括号,加号和空格

java - 使用混淆器混淆源代码

java - 在select sql语句中将参数设置为null

java - Groovy 编译器调用错误的重载 java 方法

Java 多个菜单项带有事件监听器?