Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
11 / 11 / 3
Регистрация: 17.01.2009
Сообщений: 19
1

Динамическое связывание и пакет swing

20.03.2010, 15:27. Показов 2147. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Необходимо нарисовать несколько фигур: прямоугольник, эллипс и линия (пакет swing). Нарисовать их нужно методом gr.draw(ссылка на объект) класса Graphics2D. Метод в тексте используется один раз (есть цикл). Заранее не известно какой объект надо рисовать. Я так понимая здесь нужно использовать динамическое связывание. Прямоугольник и эллипс имеют общего предка RectangularShape. Если указывать ссылку на объект этого класса в методе рисования (предварительно присвоив ей реальную фигуру) все работает, но только для прямоугольника и эллипса соответственно. В свою очередь прямоугольник, эллипс и линия имеют общего предка. Object. Но метод gr.draw() не принимает ссылку на объект класса Object.
Задача эта решаема, т.к. является частью практической работы в ВУЗе.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2010, 15:27
Ответы с готовыми решениями:

Связывание элементов Swing
В интерфейсе среды NetBeans есть три элемента: кнопка JButton, поле jTextField и JList. Скажите...

Динамическое связывание
Доброго времени суток! В языке java есть динамическое связывание, суть которого в том, что...

Динамическое добавление колонок в JTable Swing
Всем привет) Использовал таблицы и раньше, но сейчас задача требует создания динамических...

Динамическое связывание
Приветствую. Читаю Хорстманна добрался до раздела Динамическое связывание Не могу вникнуть в...

2
36 / 36 / 10
Регистрация: 04.02.2010
Сообщений: 82
20.03.2010, 16:15 2
А линия, как прямоугольник, у которого одна сторона равна нулю, а вторая как раз образует линию, не?
0
11 / 11 / 3
Регистрация: 17.01.2009
Сообщений: 19
21.03.2010, 00:05  [ТС] 3
Лучший ответ Сообщение было отмечено Ale_X_ey как решение

Решение

Линия может иметь разный угол наклона

Добавлено через 7 часов 40 минут
Удалось разобраться самому. Может кому пригодится.
Во-первых, я ошибся фигуры создаются с помощью пакета java.awt.geom.
Решение. Берем ссылку на Object и направляем ее на фигуру. В методе draw с помощью тернарного оператора приводим эту ссылку к Line2D.Double, если это оказалась линия, или к RectangularShape, если оказались прямоугольник или эллипс.

Java
1
2
3
4
Object shape= new Ellipse2D.Double(x1, y1, x2, y2);
shape= new Rectangle2D.Double(x1, y1, x2, y2);
shape= new Line2D.Double(x1, y1, x2, y2);
gr.draw((shape.toString().indexOf("Line")==-1)?(RectangularShape)shape:(Line2D.Double)shape);
0
21.03.2010, 00:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2010, 00:05
Помогаю со студенческими работами здесь

Динамическое связывание
Здравствуйте! Возник вопрос. Если у нас есть if и в теле if создаётся переменная, то какое в...

Динамическое связывание DLL
Как создавать библиотеку dll и чтобы работала программа, которую я напишу? Как осуществить...

Как запретить динамическое связывание?
Всем привет. Вот код: import java.util.*; class A { public void Func() {...

Почему компилятору нужно динамическое связывание?
Допустим A *ptr = &B; ptr->addvalue; , при компиляции не подставится адрес функции вместо имени,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru