Как сделать сортировку JTable не в потоке событий? - PullRequest
3 голосов
/ 06 февраля 2011

Итак, у меня есть дорогая сортировка, которая может использовать ввод-вывод или захват данных из сети, чтобы помочь в сортировке.

Моя проблема в том, что сортировка JTable находится в потоке событий и поэтому останавливает графический интерфейс.

Как мне изменить это, чтобы оно не изменилось?

Ответы [ 3 ]

2 голосов
/ 06 февраля 2011

Начиная с Java 6, есть интерфейс RowSorter. Я сам не имел дело с этим, но похоже, что можно реализовать его асинхронно и уведомить таблицу, когда это будет сделано (или это может даже быть его поведением по умолчанию).

0 голосов
/ 01 мая 2013

У меня было решение, которое я забыл опубликовать. Но все еще не был идеален, поэтому в итоге я просто использовал библиотеку таблиц.

Застекленные списки достаточно хороши для сортировки и просмотра больших наборов данных: http://www.glazedlists.com/

0 голосов
/ 06 февраля 2011

Вы можете создать новый поток и передать анонимный экземпляр Runnable:

new Thread(new Runnable() {


        public void run() {
            //Sort the JTable
        }
    }).start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...