Ellipse2D 클래스

Ellipse2D 클래스

Ellipse2D 클래스는 프레임 사각형(framing rectangle)으로 정의된 타원을 설명해요. 이 클래스는 2D 타원을 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.

출처: Java API Reference

본문

타원은 그것을 둘러싸는 프레임 사각형으로 정의돼요. 프레임 사각형이 정사각형이면 원이 되고, 아니면 타원이 돼요. 타원의 중심은 프레임 사각형의 중심과 같고, 타원의 장축·단축은 프레임 사각형의 축과 평행해요.

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);   // 타원 채우기

원을 그리려면 widthheight를 같게 하면 돼요.

더 알아보기