【发布时间】:2014-02-16 10:28:15
【问题描述】:
我有一个 JTable 和一个 TableRowSorter,我想按排序顺序对列进行排序,例如如果我有这个表
(3,3,1)
(4,3,2)
(2,4,3)
(1,2,4)
(5,2,1)
(3,1,1)
(2,2,5)
(4,5,4)
(1,1,3)
(1,3,2)
当我点击一个标题时,它会像
(1,2,4)
(1,1,3)
(1,3,2)
(2,4,3)
(2,2,5)
(3,3,1)
(3,1,1)
(4,5,4)
(4,5,4)
(5,2,1)
但我想要的是当我点击 B 标题对该列进行排序时,A 列仍应像这样排序
(1,1,3)
(1,2,4)
(1,3,2)
(2,2,5)
(2,4,3)
(3,1,1)
(3,3,1)
(4,3,2)
(4,5,4)
(5,2,1)
当我点击 c 列时,它会是一样的
【问题讨论】:
-
描述您的要求并要求某人为您编写代码或向您解释如何编写代码的问题对于 Stack Overflow 来说是题外话。请确定有关编程的特定问题或问题。包括尝试的解决方案、结果与预期结果有何不同的解释,以及您收到的任何错误消息。请阅读this advice on how to ask good questions
-
见
setSortKeys()How to Use Tables: Sorting and Filtering。 -
@trashgod 这是一个很好的起点,但很快你就会意识到使用
sortKeys.add()方法并不能解决 OP 遇到的问题。因为,其中一个核心方法(toggleSortOrder)会重新组织 sortKeys 列表并破坏你的修改。