다각형(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() 메서드를 조합하면 다양한 색상과 굵기의 다각형을 자유롭게 디자인할 수 있습니다.