![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Mirkes |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 2 Всего: 17 |
Вечер добрый.
Имеется такая задача. В некотрой панели размещено несколько других панелей, по размеру совпадающих с основной панелью. Изменение размеров панели запрещено (невозможно). На каждой из панелей время от времени что-то рисуется путем вставки компонентов. все, что не закрыто компонентами одной панели на других панелях видно (панели прозрачные, не прозрачные только вставляемые в них компоненты). Пока компонентов не много, все в порядке, но когда их становится много (несколько тысяч), начинает существенно тормозить. Большое число элементов бывает, обычно только на одной из вставленных панелей. Зато на ней почти никогда ничего не меняется (моменты изменения я легко могу отследить). Существует ли стандартное решение, которое позволяло бы не перерисовывать компоненты на панели, если число компонентов не менялось? В некоторых постах форума, которые сегодня найти не смог, предлагалось создавать буфер, но я не совсем понимаю как его создавать и использовать. Еще один вопрос, в ту же тему. Можно ли сделать полностью закрашенную панель прозрачной (частично прозрачной, разумеется. -------------------- Mirkes |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
||||
|
||||
| Mirkes |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 2 Всего: 17 |
Смотрел когда-то, но не понял зачем и забыл. Но это решает одну из моих проблем. Спасибо. С буферизацией вроде разобрался, опираясь на труды skipy. Но пока не закончил проверку, поэтому тему не закрываю. Думаю через пару дней либо закрыть, описав решение, либо уточнить вопрос. -------------------- Mirkes |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Ваши "несколько других панелей, по размеру совпадающих с основной панелью", могут быть представлены слоями в LayeredPane. А в LayeredPane уже реализован механизм управления перерисовкой, т.е. он определяет, какие участки должны быть перерисованы и перерисовывает только их.
|
|||
|
||||
| Mirkes |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 586 Регистрация: 18.8.2011 Где: Красноярск Репутация: 2 Всего: 17 |
Спасибо еще раз. Это я уже сделал, но попутно обнаружил, что основное торможение находится в другом месте. Для этого вопроса я создал отдльную тему, а эту закрываю.
-------------------- Mirkes |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |