gpt4 book ai didi

java - JTable 的非实时/非实时排序

转载 作者:行者123 更新时间:2023-11-30 04:46:32 25 4
gpt4 key购买 nike

当表格处于排序模式(使用RowSorter)时,似乎大多数时候表格都是实时排序的。例如,每当我添加新行时,表格都会自动排序(编辑单元格除外)。我想知道是否有任何方法可以禁用这种实时排序行为。

我想要做的是:对表进行升序或降序排序后,排序器保持当前排序状态并停止实时排序。然后可以在底部添加新行,并且可以上下移动所选行,并且表格更新 View 模型中的所有更改。

@trashgod:感谢您的回答。我实际上有点喜欢原生行排序方法,因为我可以以三态(升序、降序和未排序)循环列状态。如果使用 Collections.sort,我必须在每次排序之前创建一个变量来保存原始行顺序。

最佳答案

您可以使用 Collections.sort() 独立于 RowSorterTableModel 的行进行排序。和一个自定义的Comparator,例如所示的 here ,可以接受指定排序方向的参数。

enum Sort { ASCENDING, DESCENDING; }
class RecordComparator implements Comparator<Record> {
public RecordComparator(Sort sort, ...) { ... }
}

关于java - JTable 的非实时/非实时排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com