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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> рисование прямоугольника по 2-ум точкам 
:(
    Опции темы
4epT
Дата 24.5.2009, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Добрый день! Пишу программу рисовалку. НА данный момент пытаюсь реализовать рисование прямоугольника, у объектов Graphics2D есть метод - drawRect. Он принимает точку левого верхнего улга, ширину и высоту. Так вот проблему состоит в том, что получается рисовать прямоугольник только двигая мышку в правый нижний угол (тоесть на увеличение ширины и высоты). Как только тикущая позиция курсора, становиться меньше начальной точки, прямоугольник пропадает ( Какие могут быть варианты для рисования прямоугольника ? Надеюсь проблему объяснил понятно ))))

Заранее спасибо!
PM MAIL   Вверх
traveller
Дата 24.5.2009, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Можно код посмотреть?
PM   Вверх
4epT
Дата 24.5.2009, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Кода много .... раскидано по классам ... именно главное не выберишь (
PM MAIL   Вверх
traveller
Дата 24.5.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Можно, например сделать так
Код

Graphics2D graph; //графический контекст, в котором рисуете
float x0,y0; //координаты левого верхнего угла
float x1,y1; //координаты второго угла (координаты положения мыши)
float w=(float)Math.abs(x1-x0),h=(float)Math.abs(y1-y0);
float xn =(float)Math.min(x1,x0); //новые координаты левого верхнего угла прямоугольника
float yn = (float)Math.min(y1,y0);
graph.drawRect(xn,yn,w,h);

PM   Вверх
4epT
Дата 24.5.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Попробую )))

Я пока что рассматриваю вариант - рисовать прямоугольник по двум точкам (а именно тупо по 2 точками строить4 линии ...), но это помойму глупо ((( потом не прикрутишь методы rotate и др. ((
PM MAIL   Вверх
4epT
Дата 25.5.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



traveller, спасибо! ) получилось! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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