[java] JavaFX 캔버스 그리기

JavaFX는 Java 기반의 GUI 프레임워크로, 다양한 그래픽 활동을 처리할 수 있습니다. 이 중에서도 캔버스는 그림을 그리고 다양한 도형 및 그림을 표시할 수 있는 도화지와 같은 역할을 수행합니다.

이 글에서는 JavaFX에서 캔버스를 생성하고, 도형을 그리는 방법에 대해 알아보겠습니다.

1. JavaFX 프로젝트 설정

JavaFX를 사용하기 위해서는 JavaFX 라이브러리를 추가해야 합니다. 따라서 프로젝트의 build.gradle 파일에 다음과 같은 의존성을 추가해줍니다.

dependencies {
    implementation 'org.openjfx:javafx-controls:16'
    implementation 'org.openjfx:javafx-graphics:16'
}

2. JavaFX 캔버스 생성하기

다음으로, JavaFX 애플리케이션의 시작점인 Main 클래스를 생성합니다. 이 클래스에서는 캔버스를 생성하고, 캔버스에 그림을 그릴 수 있도록 합니다.

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;

public class Main extends Application {

    private static final int WIDTH = 800;
    private static final int HEIGHT = 600;

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("JavaFX 캔버스 그리기");

        Group root = new Group();
        Scene scene = new Scene(root, WIDTH, HEIGHT);

        Canvas canvas = new Canvas(WIDTH, HEIGHT);
        GraphicsContext gc = canvas.getGraphicsContext2D();

        // 캔버스에 그림 그리기 로직 추가

        root.getChildren().add(canvas);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

위 코드에서는 CanvasGraphicsContext를 사용하여 캔버스를 생성하고, 화면에 표시될 크기를 설정합니다.

3. 도형 그리기

이제 캔버스에 다양한 도형을 그리는 방법을 알아보겠습니다. GraphicsContext의 다양한 메서드를 사용하여 도형을 그릴 수 있습니다.

3.1. 원 그리기

gc.setFill(Color.RED);
gc.fillOval(100, 100, 50, 50);

3.2. 사각형 그리기

gc.setStroke(Color.BLACK);
gc.setLineWidth(2);
gc.strokeRect(200, 200, 100, 50);

3.3. 선 그리기

gc.setStroke(Color.BLUE);
gc.setLineWidth(1);
gc.strokeLine(300, 300, 400, 400);

결론

JavaFX의 캔버스를 이용하면 다양한 도형을 그려 화면에 표시할 수 있습니다. 위에서 소개한 방법을 사용하여 자유롭게 그래픽을 구현해보세요.

더 자세한 내용은 JavaFX 공식 문서를 참고하시기 바랍니다.