Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Торможение движения по таблице


Автор: skif18 22.4.2010, 09:14
Теперь подробно. Есть форма с таблицей и кучей jLabel. При движении по таблице в keyReleased идут запросы на обновление jLabel-ов. Запросов этих много и они длительны. Когда юзера начинают кликать на клаву начинается небольшое "зависание" движения по таблице. Как можно избавиться от этого? Может кто сталкивался?

Автор: powerOn 22.4.2010, 09:50
Ты практически сам ответил на свой вопрос: 
Цитата(skif18 @  22.4.2010,  10:14 Найти цитируемый пост)
Запросов этих много и они длительны.


Уменьшать длительность запросов, путем оптимизации выполняемых операций.

Автор: skif18 22.4.2010, 10:21
ясно. спасибо за перемещение. задумался и не в ту тему посадил. smile 

Автор: 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, спасибо. смотрю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)