Ellipse2D 클래스
Ellipse2D 클래스
Ellipse2D 클래스는 프레임 사각형(framing rectangle)으로 정의된 타원을 설명해요. 이 클래스는 2D 타원을 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.
본문
타원은 그것을 둘러싸는 프레임 사각형으로 정의돼요. 프레임 사각형이 정사각형이면 원이 되고, 아니면 타원이 돼요. 타원의 중심은 프레임 사각형의 중심과 같고, 타원의 장축·단축은 프레임 사각형의 축과 평행해요.
public abstract class Ellipse2D
extends RectangularShape
내부 클래스
Ellipse2D.Float— 좌표를float로 저장하는 구현Ellipse2D.Double— 좌표를double로 저장하는 구현
주요 메서드
RectangularShape의 메서드를 상속받아 사용해요.
getX()/getY()— 프레임 사각형의 왼쪽 위 모서리를 반환해요.getWidth()/getHeight()— 프레임 사각형의 폭·높이를 반환해요.getCenterX()/getCenterY()— 타원 중심을 반환해요.getBounds2D()— 타원을 감싸는 경계 사각형을 반환해요.contains(...)— 히트 테스트.
사용 예
Ellipse2D ellipse = new Ellipse2D.Double(x, y, width, height);
Graphics2D g2d = ...;
g2d.draw(ellipse); // 타원 윤곽선
g2d.fill(ellipse); // 타원 채우기
원을 그리려면 width와 height를 같게 하면 돼요.