如何实现对JTable中仅包含数字的列进行排序?有班级TableRowSorter.但是,使用它会产生以下结果:对于每个数字,通过调用toString来获取字符串表示,然后将其进行比较.我收到的是例如:
100,13,2,22,9代替2,9,13,22,100
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table);
table.setRowSorter(sorter);
Run Code Online (Sandbox Code Playgroud)
为避免这种情况,有以下方法:
sorter.setComparator(column,comparator);
Run Code Online (Sandbox Code Playgroud)
由于我的数字只有Integer,Long和Double,我不明白为什么我应该定义一个简单的标准java.lang类比较器.有没有更简单的方法?
您应该为列的类定义Number.
请参见TableModel
public Class<?> getColumnClass(int columnIndex);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |