Arc2D 클래스
Arc2D 클래스
Arc2D는 프레임 사각형(framing rectangle), 시작 각도, 각도 범위(호의 길이), 닫힘 타입(OPEN, CHORD, PIE)으로 정의된 2D 호를 저장하는 모든 객체의 추상 슈퍼클래스예요. 호는 부모 RectangularShape의 프레임 사각형에 내접하는 전체 타원의 부분 구간이에요.
본문
각도는 비정사각 프레임 사각형에 상대적으로 지정돼서, 45도는 항상 타원 중심에서 프레임 사각형 오른쪽 위 모서리로 가는 선 위에 떨어져요. 그 결과 프레임 사각형이 한 축을 따라 눈에 띄게 더 길다면, 호 세그먼트의 시작·끝 각도는 프레임의 더 긴 축을 따라 더 멀리 비스듬해져요.
public abstract class Arc2D
extends RectangularShape
닫힘 타입
static final int OPEN— 열린 호. 끝점을 연결하지 않아요.static final int CHORD— 호의 끝점을 직선으로 연결해 닫아요.static final int PIE— 호의 끝점과 타원 중심을 연결해 닫아요.
내부 클래스
Arc2D.Float— 좌표를float로 저장하는 구현Arc2D.Double— 좌표를double로 저장하는 구현
좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.
주요 메서드
setArc(...)— 호를 설정하는 다양한 오버로드가 있어요. 각도와 범위, 또는 시작·끝점으로 지정할 수 있어요.setArcByCenter(double x, double y, double radius, double start, double extent, int type)— 중심과 반지름으로 호를 설정해요.getAngleStart()/getAngleExtent()— 시작 각도와 범위를 반환해요.setAngleStart(double)/setAngleExtent(double)— 시작 각도와 범위를 설정해요.getArcType()/setArcType(int)— 닫힘 타입을 조회·설정해요.setAngles(...)— 세 점으로 각도를 설정해요.
사용 예
파이 차트나 부채꼴을 그릴 때 Arc2D.Float을 만들어 Graphics2D.draw/fill로 렌더링할 수 있어요. 예를 들어 시계 방향 0도에서 90도만큼 PIE 타입으로 그리면 부채꼴이 돼요.