java - 如何在两列上对 JTable 进行排序,以便带有 "1"的项目位于顶部?

标签 java swing sorting jtable

假设我有一个包含如下行的 JTable:

 (2, 1)
 (1, 3)
 (1, 5)
 (3, 1)
 (2, 3)
 (2, 4)

我想对 JTable 进行排序,以便第一列或第二列中具有 1 的行位于顶部,其余行可以具有任意顺序:

 (1, 3)
 (1, 5)
 (2, 1)
 (3, 1)
 (2, 3)
 (2, 4)

有没有办法用 TableRowSorter 在表格中做到这一点?

UPD:我想以编程方式对表格进行排序,而不是通过 UI(单击列标题)

最佳答案

您可以使用 setComparator 方法为第一列定义一个 Comparator。然后,在 Comparatorcompare 方法中,如果第一个参数是 1,则返回 -1,如果是,则返回 1第二个参数是 1,否则是 0

关于java - 如何在两列上对 JTable 进行排序,以便带有 "1"的项目位于顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9637331/

相关文章:

algorithm - 证明 10 次交换存在 O(n) 算法

javascript - 如何订购对象中的项目?

java - 如何在布局中滚动时查看所有图像

java - Swing : best way to implement zoom functionality in image component

java - MatteBorder 不适用于从右到左的组件方向

java - 确定 JTable 中每列的标题

用于创建新对象的 Java 反射

java - Selenium 编程: what is the short cut that allow you to see the element names for your browser

java - 有关 Java 中对象相等性的一般信息

sql - 在同一列上排序两次