![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Reptor |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
Даже не знаю если честно как назвать эту тему но всётаки что то в названии просматривается
![]() так вот задача вот такая.... есть у меня несколько вот таких вот окон в приложении
и в каждом из этих окон имеется только один компонент и всё
собственно у меня тут только графика в этих окнах. у PreviewPanel переопределён метод
вот и там рисуется к примеру одна линия и всё. Вот и приставьте что есть таких 3 окна и в каждом к примеру нарисована линия.. и мне теерь надо создать новое окно в которм я соеденю все эти 3 линии в одну... но при этом каждая линия будет независима и при клике например на первую линию я смогу её перетащить ввверх а те 2 останутся неизменными. Примерно как на рисунках в атаче Вот проблема собственно в том как сделать их независимыми на рисунке. У меня сейчас как вы видели PreviewPanel это класс в которм рисуется одна линия и эти все экземпляры у меня хранятся в листах. И каждый мой экземпляр имеет свои координаты конца и начала линии и так же растояние между линиями (это то что красным на рисунке). Тоесть я могу сделать новый JPanel в которм переопределю метод paintComponent(Graphics g) и там в итерации по листам смогу нарисовать такую вот общую линию.. но как мне сделать так что б я мог их перетаскивать? как сделать что б они у меня были независимыми? Я думал может как то cоздать 3 JPanel на одном окне и уже как то ними манипулировать.... отловол например клик на панеле и когда тащу просто с помощью афиных преобразований перетаскиваю картинку.. но тада не понятно как будут эти связи мои рисоватсья... мне надо как то сделать 3 (в данном примере) независимых линии с которыми я мог бы работать.. отталкиваясь уже от того как уже организовано их хранение. Вроде как всё сказал... может что забыл или что то может остатся непонятным.. Это сообщение отредактировал(а) Reptor - 19.6.2008, 16:41 Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() |
||||||
|
|||||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
по моему мнению:
вот у тебя 4 панели. на трех ты сам рисуешь, на четвертую можно кинуть что нарисовал. когда рисуешь, надо получить массив точек нарисованных(плюс цвет, размер, ...). на четвертую панель выводить этот массив но это получается flash, может быть лучше не заниматься изобретанием велосипеда, а сразу перейти на flash ? ![]() |
|||
|
||||
Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: нет Всего: 10 |
Можно написать свой Listener, Event и при нажатии, там, на левую кнопку мыши, происходило событие, при отлавливании которого, менялись координаты рисунка.
-------------------- |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
dorogoyIV, не совсем понятно наличие Flasha?
Это сообщение отредактировал(а) Reptor - 20.6.2008, 12:04 |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
ну просто приложения на Java и там не только графика. Там и логика присутствует и файлы и база
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
ну тогда выложи код упрощенный, описание, и что не получается...
|
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
dorogoyIV, код упрощенный будет очень сложно выдрать.... а по описанию и картинке что я выше давал что не понятно?
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
то, что на картинке - понятно.
по делу: хранить изображение - мне кажется неправильно, надо хранить массив точек нарисованных. когда ты на четвертой панели перемещаешь линию, этот массив должен получить новые координаты для своих точек. ну и перерисоваться. так что у тебя конкретно не получается? |
|||
|
||||
Reptor |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
dorogoyIV,
это есть.
и это тоже понятно. Проблема в том как мне отловить какую именно я перетаскиваю линию (какой масив точек менять 1-ый или 2-ой или 3-тий ну и так далее..) ? Добавлено через 2 минуты и 14 секунд у меня ж 4-ый рисунок это как уже одно целое и как на нём определить что я перетаскаваю? |
||||
|
|||||
dorogoyIV |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
ну вот примерно: (это конечно всего лишь набросок...)
там трудно попадать в точку, поэтому я сделал индикатор - когда попал, горит зеленым. ну если у тебя будут правильные геометрические фигуры, то надо будет массив с координатами точек по другому заполнять |
||||
|
|||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
dorogoyIV, если я правильно понял то идея в том что б каждой фигуре назначить какуюто точку а точка может являть собой экземпляр в котором будет и храниться за какую фигуру отвечает эта точка. И таким образом отловил клик на ней и когда тащю меняю координаты нужного мне объекта. Я верно понял??
Добавлено через 8 минут и 42 секунды Ой что то я натупил Это сообщение отредактировал(а) Reptor - 24.6.2008, 14:44 |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
ага, немного ![]() вот рисуем фигуру (рисуются ведь точки!!!). при этом в ArrayList заносим координаты этих точек. при наведении мышкой получаем координаты мыши, методом contains(...) проверяем - есть ли в ArrayList такая точка. ну а при перетаскивании фигуры - в методе draggArray(...) изменяем эти координаты этих точек ![]() ![]() ![]() |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 1 Всего: 0 |
не стоит я всё понял и так ![]() Это сообщение отредактировал(а) Reptor - 24.6.2008, 15:59 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |