원(circle)이란 닫힌 곡선으로 이루어진 도형으로, 곡선 위의 모든 점이 중심점으로부터 일정한 거리를 유지하는 형태를 말합니다. 원은 중심(center)과 반지름(radius), 즉 중심에서 원 위의 임의의 점까지의 거리로 정의됩니다.
JavaFX에서 원은 javafx.scene.shape.Circle 클래스로 표현됩니다. 이 클래스에는 다음과 같은 세 가지 핵심 속성이 있습니다.
centerX — 원의 중심 x 좌표를 나타냅니다. setCenterX() 메서드를 사용하여 값을 설정할 수 있습니다.
centerY — 원의 중심 y 좌표를 나타냅니다. setCenterY() 메서드를 사용하여 값을 설정할 수 있습니다.
radius — 픽셀 단위의 원의 반지름을 나타냅니다. setRadius() 메서드를 사용하여 값을 설정할 수 있습니다.
JavaFX에서 원을 만드는 절차
원을 생성하려면 다음 단계를 따르면 됩니다.
Circle 클래스를 인스턴스화합니다.
setter 메서드를 사용하거나, 생성자에 값을 인수로 전달하여 필요한 속성을 설정합니다.
생성된 노드(도형)를 Group 객체에 추가합니다.
예제 코드
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;
public class DrawingCircle extends Application {
public void start(Stage stage) {
//Drawing a Circle
Circle circle = new Circle();
//Setting the properties of the circle
circle.setCenterX(300.0f);
circle.setCenterY(135.0f);
circle.setRadius(100.0f);
//Setting other properties
circle.setFill(Color.DARKCYAN);
circle.setStrokeWidth(8.0);
circle.setStroke(Color.DARKSLATEGREY);
//Setting the Scene
Group root = new Group(circle);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("Drawing a Circle");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}실행 결과
위 코드를 실행하면 베이지색 배경 위에 청록색(DARKCYAN)으로 채워진 원이 그려집니다. 원의 테두리는 어두운 청회색(DARKSLATEGREY)이며, 두께는 8픽셀로 지정되어 있습니다.

추가 팁
생성자를 활용하면 코드를 더 간결하게 작성할 수도 있습니다. 예를 들어 new Circle(300.0f, 135.0f, 100.0f)처럼 centerX, centerY, radius 값을 한 번에 전달하면 setter 호출 없이 원을 바로 생성할 수 있습니다. 또한 setFill()과 setStroke() 메서드를 조합하면 원의 내부 색상과 테두리 스타일을 자유롭게 꾸밀 수 있습니다.