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

JavaFX로 다각형(Polygon) 그리는 방법 완벽 정리

다각형(Polygon)이란 같은 평면 위에 존재하는 n개의 선분으로 이루어진 닫힌 도형을 의미합니다. JavaFX에서는 javafx.scene.shape.Polygon 클래스를 통해 다각형을 표현할 수 있습니다.

JavaFX에서 다각형을 만드는 절차

다각형을 생성하려면 다음 단계를 따라야 합니다.

  • Polygon 클래스의 인스턴스를 생성합니다.
  • 다각형을 구성하는 선분들의 시작점과 끝점 좌표를 전달합니다. 이때 생성자의 인수로 넘기거나, getPoints() 메서드를 사용하는 두 가지 방법이 있습니다.
polygon.getPoints().addAll(new Double[]{ 쉼표로 구분된 XY 좌표 목록 });
  • 생성된 노드(도형)를 Group 객체에 추가하여 화면에 표시합니다.

예제 코드

아래 예제에서는 서로 다른 색상과 좌표를 가진 두 개의 다각형을 하나의 Scene에 배치하는 방법을 보여줍니다.

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.Polygon;

public class DrawingPolygon extends Application {
    public void start(Stage stage) {
        // 첫 번째 다각형 그리기
        Polygon polygon1 = new Polygon();
        polygon1.getPoints().addAll(new Double[]{
            250.0, 50.0, 175.0, 150.0,
            175.0, 250.0, 200.0, 250.0,
            350.0, 150.0
        });
        // 스타일 속성 설정
        polygon1.setFill(Color.DARKCYAN);
        polygon1.setStrokeWidth(8.0);
        polygon1.setStroke(Color.DARKSLATEGREY);

        // 두 번째 다각형 그리기
        Polygon polygon2 = new Polygon();
        polygon2.getPoints().addAll(new Double[]{
            410.0, 160.0, 430.0, 130.0, 470.0, 130.0,
            490.0, 160.0, 470.0, 200.0, 430.0, 200.0
        });
        // 스타일 속성 설정
        polygon2.setFill(Color.CHOCOLATE);
        polygon2.setStrokeWidth(8.0);
        polygon2.setStroke(Color.BROWN);

        // Scene 설정
        Group root = new Group(polygon1, polygon2);
        Scene scene = new Scene(root, 595, 300, Color.BEIGE);
        stage.setTitle("Drawing Polygon");
        stage.setScene(scene);
        stage.show();
    }

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

코드 설명

첫 번째 다각형은 5개의 꼭짓점 좌표를 사용해 비대칭 형태의 오각형을 그리며, 진청록색(DARKCYAN)으로 채우고 짙은 청회색(DARKSLATEGREY) 테두리를 적용했습니다. 두 번째 다각형은 6개의 꼭짓점으로 육각형을 구성하며, 초콜릿색(CHOCOLATE) 채우기와 갈색(BROWN) 테두리를 사용했습니다.

실행 결과

위 코드를 실행하면 베이지색 배경 위에 청록색 오각형과 초콜릿색 육각형이 나란히 표시되는 창이 나타납니다. setFill()setStroke() 메서드를 조합하면 다양한 색상과 굵기의 다각형을 자유롭게 디자인할 수 있습니다.