如何在事件线程上进行JTable排序?

时间:2011-02-06 12:40:06

标签: java swing sorting jtable

所以我有一个昂贵的类型,可以使用IO或从网络中获取数据来帮助它排序。

我的问题是JTable排序在事件线程上,因此会冻结GUI。

如何更改它以便它不会?

3 个答案:

答案 0 :(得分:2)

从Java 6开始,就有RowSorter接口。我自己没有处理它,但看起来应该可以异步地实现它并在完成时通知表(或者甚至可能已经是它的默认行为)。

答案 1 :(得分:0)

您可以启动一个新的Thread并传递一个匿名的Runnable实例:

new Thread(new Runnable() {


        public void run() {
            //Sort the JTable
        }
    }).start();

答案 2 :(得分:0)

我确实有一个我忘记发布的解决方案。但仍然不完美,所以最后我只使用了一个表库。

在处理排序和查看大量数据时,上釉列表非常好: http://www.glazedlists.com/