Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JavaFX로 기하학적 2D 도형 그리기 완벽 가이드

일반적으로 2D 도형(Shape)이란 XY 평면 위에 그릴 수 있는 기하학적 도형을 의미합니다. 여기에는 선(Line), 사각형(Rectangle), 원(Circle) 등이 포함됩니다.

JavaFX의 javafx.scene.shape 패키지는 다양한 클래스를 제공하며, 각 클래스는 2D 기하학 객체 또는 이에 대한 연산(operation)을 정의합니다. 그중 Shape 클래스는 JavaFX의 모든 2차원 도형의 기본(base) 클래스 역할을 합니다.

2D 도형 만들기

JavaFX를 사용하여 2D 기하학 도형을 그리려면 다음 세 단계를 거쳐야 합니다.

1. 해당 클래스 인스턴스 생성

그리고자 하는 도형에 맞는 클래스를 인스턴스화합니다. 예를 들어 원을 그리고 싶다면 아래와 같이 Circle 클래스의 객체를 생성하면 됩니다.

// 원 그리기
Circle circle = new Circle();

2. 속성(Property) 설정

각 도형 클래스가 제공하는 메서드를 사용해 속성을 설정합니다. 예를 들어 원을 그리려면 중심 좌표와 반지름이 필요하며, setCenterX(), setCenterY(), setRadius() 메서드를 사용해 각각 지정할 수 있습니다.

// 원의 속성 설정
circle.setCenterX(300.0f);
circle.setCenterY(135.0f);
circle.setRadius(100.0f);

3. Group 객체에 도형 추가

마지막으로 생성한 도형 객체를 Group 생성자의 매개변수로 전달하여 화면에 포함시킵니다.

Group root = new Group(circle);

전체 예제 코드

아래는 위 과정을 모두 적용하여 JavaFX로 원을 그리는 완전한 예제입니다.

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;

public class CircleExample extends Application {
    public void start(Stage stage) {
        // 원 그리기
        Circle circle = new Circle();
        
        // 원의 속성 설정
        circle.setCenterX(300.0f);
        circle.setCenterY(135.0f);
        circle.setRadius(100.0f);
        
        // Group 객체 생성
        Group root = new Group(circle);
        
        // Scene 객체 생성
        Scene scene = new Scene(root, 600, 300);
        
        // Stage 제목 설정
        stage.setTitle("Drawing a Circle");
        
        // Stage에 Scene 추가
        stage.setScene(scene);
        
        // Stage 표시
        stage.show();
    }
    
    public static void main(String args[]) {
        launch(args);
    }
}

실행 결과

위 코드를 실행하면 화면 중앙 부근(중심 X: 300, Y: 135)에 반지름 100픽셀 크기의 원이 그려진 600×300 크기의 창이 나타납니다.

JavaFX로 기하학적 2D 도형 그리기 완벽 가이드