Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мусор при отрисовке увеличенной scale'ом JPanel 
V
    Опции темы
freakyblast
  Дата 15.12.2011, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.12.2011

Репутация: нет
Всего: нет



Здравствуйте!
Помогите решить проблему - есть JPanel, на котором производится вывод несложной графики, а также манипуляция с объектами сцены (тут сказано, что для отрисовки лучше не использовать JPanel, но сейчас хочется именно с ней справиться).
Граф. объект отрисовывается нормально, даже при быстром Drag'инге.
user posted image

Но стоит увеличить/уменьшить зум панели (вызываю scale у самой Scene (потомок JPanel) в PaintComponent):

Код

      Graphics2D g2 = (Graphics2D) g;
       g2.scale(m_zoom, m_zoom);


как всё начинает плыть при передвижении объекта по сцене:

user posted image

Где-то читал, что нужно изменить прямоугольник отрисовки, так как, возможно, сцена всё ещё руководствуется старыми размерами и отрисовывает со старыми параметрами, забывая убрать мусор со старых областей.
Но где это сделать.?

Благодарю за ответы!


PM MAIL   Вверх
freakyblast
Дата 16.12.2011, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.12.2011

Репутация: нет
Всего: нет



Всё - нашел решение, надо в mouseDragged во всех удобных местах было поставить по repaint() сцены.  smile .
Банально не перирисовывалась.

PM MAIL   Вверх
Skipy
Дата 16.12.2011, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 4
Всего: 16



При изменениях масштаба из-за неточностей расчета бывает промашка на пискель при определении размеров объекта. Соответственно, перерисовывается меньшая область, чем должна.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
freakyblast
Дата 18.12.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 15.12.2011

Репутация: нет
Всего: нет



Цитата(Skipy @ 16.12.2011,  15:28)
При изменениях масштаба из-за неточностей расчета бывает промашка на пискель при определении размеров объекта. Соответственно, перерисовывается меньшая область, чем должна.

А как регулировать область отрисовки? 
PM MAIL   Вверх
Skipy
Дата 19.12.2011, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 4
Всего: 16



Цитата(freakyblast @ 18.12.2011,  16:25)
А как регулировать область отрисовки?

clip. http://www.skipy.ru/technics/gui_int.html

Правда, тут придется заставлять родителя перерисовываться в нужной области. 


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.