Простой графический редактор на Java
От: _LeShik Беларусь  
Дата: 22.03.05 15:22
Оценка:
Задача следующая:
Необходимо в окне аплета рисовать различные геометрические фигуры, с возможностью их перемещать мышью, и изменять их размеры. Но при перетаскивании фигуры она может пересекать какие-то другие фигуры на рисунке и закрашивать их. Следовательно надо каким-то образом перерисовывать фигуру которую мы тащим, и вместе с ней все остальные. Но тогда, я так понимаю, всё будет гнусно моргать. Вопрос: как правильно рисовать перемещаемую фигуру.
Подойдёт любая инфа, совет, линки...
Re: Простой графический редактор на Java
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 22.03.05 15:28
Оценка:
Здравствуйте, _LeShik, Вы писали:

_LS>Задача следующая:

_LS>Необходимо в окне аплета рисовать различные геометрические фигуры, с возможностью их перемещать мышью, и изменять их размеры. Но при перетаскивании фигуры она может пересекать какие-то другие фигуры на рисунке и закрашивать их. Следовательно надо каким-то образом перерисовывать фигуру которую мы тащим, и вместе с ней все остальные. Но тогда, я так понимаю, всё будет гнусно моргать. Вопрос: как правильно рисовать перемещаемую фигуру.
_LS>Подойдёт любая инфа, совет, линки...

ключевые понятия Double Buffering (двойная буфферизация), clipping area (обасть ограничиния).
ICQ #333355130
Re[2]: Простой графический редактор на Java
От: Аноним  
Дата: 23.03.05 18:46
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, _LeShik, Вы писали:


_LS>>Задача следующая:

_LS>>Необходимо в окне аплета рисовать различные геометрические фигуры, с возможностью их перемещать мышью, и изменять их размеры. Но при перетаскивании фигуры она может пересекать какие-то другие фигуры на рисунке и закрашивать их. Следовательно надо каким-то образом перерисовывать фигуру которую мы тащим, и вместе с ней все остальные. Но тогда, я так понимаю, всё будет гнусно моргать. Вопрос: как правильно рисовать перемещаемую фигуру.
_LS>>Подойдёт любая инфа, совет, линки...

L>ключевые понятия Double Buffering (двойная буфферизация), clipping area (обасть ограничиния).


Я не знаю пока Swing/AWT, но хотел бы узнать конкретнее где копать в стандартной Java что-либо аналогичное GEF, но работающее не на SWT. Можно подробне про пакеты — что соответствует фигурам Draw2d, что — EditPart-ам
Re[3]: Простой графический редактор на Java
От: Blazkowicz Россия  
Дата: 24.03.05 08:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Я не знаю пока Swing/AWT, но хотел бы узнать конкретнее где копать в стандартной Java что-либо аналогичное GEF, но работающее не на SWT. Можно подробне про пакеты — что соответствует фигурам Draw2d, что — EditPart-ам


Для Swing/AWT существует JGraph. Не знаю как там сейчас у них дела, но года полтора назад это была глючная и довольно тормозная библиотека. И до архитектуры GEF им очень далеко. Но в приницпе можно глянуть. Судя по сайту проект растет и развивается, так что думаю сейчас там что-то стоящее.
Re[2]: Простой графический редактор на Java
От: _LeShik Беларусь  
Дата: 25.03.05 10:52
Оценка:
Здравствуйте, Lucker, Вы писали:

L>Здравствуйте, _LeShik, Вы писали:


_LS>>Задача следующая:

_LS>>Необходимо в окне аплета рисовать различные геометрические фигуры, с возможностью их перемещать мышью, и изменять их размеры. Но при перетаскивании фигуры она может пересекать какие-то другие фигуры на рисунке и закрашивать их. Следовательно надо каким-то образом перерисовывать фигуру которую мы тащим, и вместе с ней все остальные. Но тогда, я так понимаю, всё будет гнусно моргать. Вопрос: как правильно рисовать перемещаемую фигуру.
_LS>>Подойдёт любая инфа, совет, линки...

L>ключевые понятия Double Buffering (двойная буфферизация), clipping area (обасть ограничиния).



Спасибо, я пока сделал просто:
передвигаемый объект сначала закрашиваю цветом бэкграунда далее прорисовываю
объект на новой позиции и делаю перерисовку всего рисунка. Моргания не видно ... тормозов нет. Только
одно не нравится... неправильно как-то перерисовывать весь рисунок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.