2012-01-24 3 views
0

내가 마우스 드래그로 임의의 도형을 이동하려고 해요어떻게 자바의 Graphics2D

의 Graphics2D (자바)와 함께 일하고 있어요 영역 클래스 객체를 이동합니다.

이 임의의 모양은 java.awt.geom.Area 클래스의 Area 객체에 저장됩니다.

저는이 영역 객체를 선택하는 방법을 알고 있습니다. 실제로 그것을 새로운 좌표로 옮기는 방법을 알아야합니다.

타원 및 직사각형과 같은 도형은 쉽게 이동할 수 있지만 다각형이나 곡선을 포함하고 미리 정의 된 특정 구조가없는 도형을 이동하는 방법은 쉽습니다.

답변

0

그래픽 클래스를 사용하여 사각형을 그리려면 원점과 너비와 높이가 필요합니다.

Graphics 클래스를 사용하여 타원을 그리려면 원점과 너비와 높이가 필요합니다.

이러한 간단한 그림은 원점과 그림의 크기로 구성됩니다.

마찬가지로 복잡한 모양의 경우 원점이 필요합니다. 그것은 마우스 드래그로 모양을 이동할 때 "움직이는"원점입니다. 즉, 마우스 이동의 원점은 그림의 원점과 일치합니다. 마우스가 새로운 X 및 Y 좌표로 이동하면 원점이 새로운 x 및 y 좌표로 이동합니다.

직사각형의 원점이 10, 10이라고 가정 해 봅시다. 마우스 드래그의 원점이 30, 30이라고 가정 해 봅시다. 마우스가 새로운 x 및 y 좌표로 이동하면 사각형 원점이 변경됩니다. 이 예제에서 마우스가 40, 40으로 이동하면 사각형의 원점은 20, 20이됩니다.

사각형과 타원에는 이미 Graphics 클래스에 draw 메서드가 있습니다. 아마도 복잡한 모양을 위해 자신의 draw 방법을 작성해야 할 것입니다.