![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| katala |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
народ помогите!!
допустим есть метод
как сделать что бы например при нажатии кнопки рисовалась другая линия. и почему если делать
то пропадает линия которая была нарисована?????? |
||||
|
|||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 3 Всего: 151 |
Потому что перерисовка каждый раз производится полностью. Тебе нужно запоминать в массиве или списке координаты всех введенных линий, и в paint'е пробегаться по всему массиву, рисуя каждую линию.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
чето я не понял. так в paint'e и так рисуется линия!!! а как рисовать что то новое при нажатии на кнопку???? |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 3 Всего: 151 |
Вот именно. ОДНА. А надо - несколько. Алгоритм приблизительно такой:
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
Есть модель, т.е. данные, например массив. Есть вид - т.е. способ отображения этих данных на экране.
Простой пример: есть некая статистическая информация, по которой можно построить диаграмму. Диаграмма может быть точечной, круговой, линейной и какой угодно другой. Так вот здесь статистические данные - это модель, а то как они будут отображаться на экране - вид. Данные одни и теже, а отображение много. Или наоборот: меняешь данные (например получили новые статистические результаты), а вид остается тем же. В результате увидишь туже диаграмму отображающую другие данные. Это называется архитектура Model-View-Controller (Модель-Вид-Контроллер). Можно легко менять составные чати системы и получать определенную гибкость. Вот и в Java примерно такой же принцип. Да и не только в Java. Хочешь прорисовать новое изображение? - Меняешь модель, и определяешь способ прорисовки, а система перерисует тогда когда нужно будет. Для того чтобы система знала что прорисовывать есть метод paint(Graphics g), ты преопределяешь его, тем самым устанавливая правила КАК рисовать. Изменяешь модель - влияешь на ЧТО рисовать. |
|||
|
||||
| katala |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
извините за глупый вопрос, но что это за обьект Line?? из какой библиотеки.
допустим есть два массива с координатами по х и по y:
а потом при нажатии на кнопку
так надо делать??? но почему тогда экран становиться просто серым и нет линии??? обьясните плиз что я делаю неверно!!!! |
||||||
|
|||||||
| powerOn |
|
||||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 2 Всего: 159 |
А где ты объект класса Line используешь? Здесь ты линию по начальным и конечным координатам рисуешь:
Лично я стандартного класса Line в своей практике пока не встречал. Видел только java.awt.geom.Line2D.
Ты случайно метод paint() не у JFrame переопределил? Выкладывай код класса полность. Попробуем разобраться. |
||||||
|
|||||||
| katala |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 15.4.2006 Репутация: нет Всего: нет |
вот и весь код вроде все просто. но как сделать что бы нажимать кнопку и рисовалось что то другое ???77 |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 3 Всего: 151 |
Это был не рабочий код, а набросок алгоритма. Line - это класс, который я бы сделал для хранения координат линии. Додумай сам. Полный код писать у меня времени нет. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Апплеты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |