按我的喜好对JTable进行排序

时间:2013-10-22 04:46:17

标签: java swing sorting jtable

我有一个JTable,其中包含以下值:

Name        age        money

  A          13         SGD23

  B          41         SGD133

如果我点击标题(名称),它将排序为A,B,再次点击,将是B,A

但是为了钱,如果我点击它,我想要像SGD 23,SGD 133那样排序。但是,Swing TableRowSort对SGD 133,SGD23等值进行排序。这是因为列值类是String。那么有人可以帮我这么做吗?请注意,这笔钱有CurrencyCode SGD。

1 个答案:

答案 0 :(得分:2)

您需要实现一个Comparator,它知道如何对列中的值进行排序,然后使用DefaultRowSorter.setComparator(...)

来应用它

另一种方法是仅存储货币的数字部分,并将CurrencyCode应用为CellRenderer的一部分。这样你就可以简单地对数值进行排序,而不是试图调整String Comparator来满足你的需求。