Как переместить объект класса Area в Java Graphics2D - PullRequest
0 голосов
/ 24 января 2012

Я работаю с Graphics2D (java)

Я пытаюсь переместить произвольную форму с помощью перетаскивания мышью.

Эта случайная фигура хранится в объекте Area java.awt.geom.Area class.

Я знаю, как выбрать этот объект области, мне просто нужно выяснить, как на самом деле переместить его в новые координаты.

Такие формы, как эллипс и прямоугольник, можно легко перемещать.но как перемещать фигуры, такие как многоугольник или фигуры, которые содержат кривую и не имеют определенной предопределенной структуры.

1 Ответ

0 голосов
/ 24 января 2012

Чтобы нарисовать прямоугольник с помощью класса Graphics, вам понадобится точка начала координат, ширина и высота.

Чтобы нарисовать эллипс с использованием класса Graphics, вам понадобится точка начала координат, ширина и высота.

Каждая из этих простых фигур состоит из начальной точки и размеров фигуры.

Аналогично, для любой сложной формы вам нужна точка начала координат. Это исходная точка, которая «перемещается», когда вы перемещаете фигуру с помощью мыши. Другими словами, начало движения мыши соответствует происхождению фигуры. Когда мышь перемещается в новые координаты X и Y, ваш источник перемещается в новые координаты X и Y.

Допустим, у прямоугольника есть начало координат 10, 10. Допустим, у источника перетаскивания мыши значение 30, 30. Когда мышь перемещается в новые координаты x и y, вы меняете начало координат прямоугольника. В этом примере, когда мышь переместилась на 40, 40, начало прямоугольника становится 20, 20.

Прямоугольник и эллипс уже имеют метод draw в классе Graphics. Возможно, вам придется написать собственный метод рисования для сложной фигуры.

...