gpt4 book ai didi

java - 在 RowSort 操作之后执行操作

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:52 26 4
gpt4 key购买 nike

我有一个JTable 和一个TableRowSorter,我想在排序完成后 执行操作。我一直在浏览网页,但到目前为止我运气不佳。

最初我认为只需要一个 RowSorterListener 就可以解决问题,但不幸的是它不会在排序完成后执行操作。

MouseListener 添加到 JTable header 中可以工作,但解决方案并不是非常优雅。

有没有人有什么想法?

非常感谢!


编辑(来自评论):将以下内容添加到扩展AbstractTableModel 的自定义TableModel 类中的方法中。只要在自定义 TableModel 类中设置/指定了 JTable,就会调用此方法。

sorter.addRowSorterListener(new RowSorterListener() {
@Override public void sorterChanged(RowSorterEvent rowsorterevent) {
rebuildMItems(); // The method which executes
}
});

最佳答案

两种可能性:

  1. 我看到您有一个自定义 RowSorter。您不能简单地在 sort() 方法的末尾添加对您的操作的调用吗?

    换句话说,你能不能加上这个:

    @Override
    public void sort() {
    super.sort();
    doSomethingAfterSortingIsDone();
    }

    到你的分拣机?

  2. 您当前的方法(在 RowSorterListener 中执行)执行两次操作:一次针对 SORT_ORDER_CHANGED,一次针对 SORTED。你能查一下 Activity 的type吗?并且只在正确的时间执行操作?

关于java - 在 RowSort 操作之后执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/987252/

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