Индикатор ожидания JTable - PullRequest
       30

Индикатор ожидания JTable

4 голосов
/ 18 августа 2011

У меня есть Java-апплет с JTable.Из-за большого количества данных и низкой пропускной способности сети требуется много времени для выполнения любой операции, например загрузки таблицы или ее изменения.Я думаю о добавлении индикатора активности, чтобы пользователь знал, что его запрос обрабатывается.Прежде чем я использую JProgressBar, я хотел бы знать, есть ли другие варианты, такие как цветок активности ajax.

Ответы [ 3 ]

4 голосов
/ 18 августа 2011

Самый простой способ - установить (не анимированный) WAIT_CURSOR

// Setting cursor for any Component:
  component.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
  doProcessing();
  component.setCursor(Cursor.getDefaultCursor());

см. http://www.catalysoft.com/articles/busyCursor.html

Анимированный курсор см .:

http://book.javanb.com/swing-hacks/swinghacks-chp-12-sect-2.html

3 голосов
/ 18 августа 2011

Для этого вы можете использовать JBusyComponent .Просто оберните свою таблицу или полосу прокрутки в компоненте JBusy.Но не забудьте загрузить данные вне потока диспетчеризации событий.Для этого вы можете использовать SwingWorker, как предложено в другом ответе.Для этого JBusyComponent уже предоставляет BusySwingWorker.

3 голосов
/ 18 августа 2011

SwingWorker было разработано для этого, как предложено в этом примере .В частности, «Обратите внимание, что безопасно изменять tableModel изнутри метода процесса, потому что он вызывается в потоке диспетчеризации событий.»

...