Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: GUI и Java FX приложения > Торможение движения по таблице |
Автор: skif18 22.4.2010, 09:14 |
Теперь подробно. Есть форма с таблицей и кучей jLabel. При движении по таблице в keyReleased идут запросы на обновление jLabel-ов. Запросов этих много и они длительны. Когда юзера начинают кликать на клаву начинается небольшое "зависание" движения по таблице. Как можно избавиться от этого? Может кто сталкивался? |
Автор: powerOn 22.4.2010, 09:50 |
Ты практически сам ответил на свой вопрос: Уменьшать длительность запросов, путем оптимизации выполняемых операций. |
Автор: skif18 22.4.2010, 10:21 |
ясно. спасибо за перемещение. задумался и не в ту тему посадил. ![]() |
Автор: COVD 22.4.2010, 14:50 | ||
Перерисовывание и обновление не должны выполняться в одном потоке. |
Автор: skif18 22.4.2010, 17:20 |
COVD, вот с потоками как раз и не до конца разобрался. Видимо пришел момент в них лазать... |
Автор: COVD 22.4.2010, 17:55 |
Точнее, перерисовывание и изменение данных модели делаются в одном потоке, в EDT. А вот подготовка данных, которая может включать медленные операции с внешними устройствами, должна выполняться в отдельном потоке. Прокручивание строк таблицы означает перерисовывание, оно не должно быть связано с подготовкой обновлений. Это независимые процессы. |
Автор: skif18 22.4.2010, 18:17 |
а похожий примерчик по потокам не подкинешь, если есть конечно. |
Автор: jeank 28.4.2010, 16:32 |
Смотри в гугле - SwingWorker example, там все разжевано. |
Автор: skif18 29.4.2010, 11:07 |
jeank, спасибо. смотрю. |