HOWTO · Java

JavaFX에서 직사각형을 그리는 방법

이 튜토리얼에서는 JavaFX에서 직사각형을 그리는 방법을 보여줍니다.

이 페이지의 내용

JavaFX에서는 Rectangle을 만들고 위치, 크기, 채우기 색, 테두리를 설정한 뒤 Scene에 추가하고, 해당 장면을 Stage에 표시합니다. 도형은 왼쪽 위가 원점인 장면의 좌표계를 사용합니다. 아래 JavaFX 호출과 속성 이름은 JavaFX 프로젝트에서 사용할 설정을 보여 줍니다. 예제 환경에 구성된 Java 런타임에는 JavaFX가 포함되어 있지 않으므로 그래픽 애플리케이션을 컴파일하거나 실행할 수 없습니다.

JavaFX에서 직사각형 그리기

Rectangle 클래스는 javafx.scene.shape 패키지에 있습니다. x와 y 속성은 왼쪽 위 모서리의 위치를 지정하고, width와 height 속성은 크기를 지정합니다. 이 속성들은 double 값을 사용합니다. 크기가 800 × 400단위인 장면에는 왼쪽 위 모서리가 (200, 100)에 있고 너비가 400, 높이가 200인 직사각형을 배치할 수 있습니다.

속성 설정 메서드 설명
x setX(double) 왼쪽 위 모서리의 가로 위치입니다.
y setY(double) 왼쪽 위 모서리의 세로 위치입니다.
width setWidth(double) 직사각형의 너비입니다.
height setHeight(double) 직사각형의 높이입니다.
arcWidth setArcWidth(double) 모서리를 둥글게 만들 때 사용하는 가로 지름입니다.
arcHeight setArcHeight(double) 모서리를 둥글게 만들 때 사용하는 세로 지름입니다.

JavaFX에서는 rectangle.setX(200), rectangle.setY(100), rectangle.setWidth(400), rectangle.setHeight(200)을 사용합니다. rectangle.setFill(Color.BLUE)로 내부를 채우고 rectangle.setStroke(Color.LIGHTBLUE)로 테두리를 설정합니다. rectangle.setStrokeWidth(8)은 테두리 두께를 지정합니다. 도형을 Group에 추가하고 원하는 크기와 배경색으로 Scene을 만든 다음, 그 장면을 Stage에 지정합니다. 애플리케이션의 start 메서드에서 stage.show()를 호출해 창을 표시합니다. 클래스는 Application을 상속하며, main 메서드는 launch(args)를 호출합니다. 이 버전을 실행하려면 빌드 또는 실행 설정에서 JavaFX 모듈을 사용할 수 있도록 구성된 JavaFX 프로젝트가 필요합니다.

다음에 나오는 실행 가능한 Java2D 프로그램은 같은 도형을 메모리 내 이미지에 그리고, 지정한 위치의 채우기 색을 출력합니다. 이 예제는 JavaFX와 별개로 위치와 크기를 보여 주며, JavaFX 장면을 실행하거나 표시하지는 않습니다.

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;

public class DrawRectangle {
    public static void main(String[] args) {
        System.setProperty("java.awt.headless", "true");
        BufferedImage image = new BufferedImage(800, 400, BufferedImage.TYPE_INT_RGB);
        Graphics2D graphics = image.createGraphics();
        graphics.setColor(Color.BLUE);
        graphics.fillRect(200, 100, 400, 200);
        graphics.dispose();

        Color sample = new Color(image.getRGB(250, 150));
        System.out.printf("Rectangle: x=%d, y=%d, width=%d, height=%d%n", 200, 100, 400, 200);
        System.out.printf("Sample fill: #%02X%02X%02X%n", sample.getRed(), sample.getGreen(), sample.getBlue());
    }
}
Rectangle: x=200, y=100, width=400, height=200
Sample fill: #0000FF

JavaFX 도형의 모서리를 둥글게 하려면 크기를 설정한 뒤 두 호 속성을 설정합니다. rectangle.setArcWidth(40)과 rectangle.setArcHeight(40)을 사용하면 됩니다. setArcWidth는 가로 곡선 지름을, setArcHeight는 세로 곡선 지름을 제어합니다. 두 값을 같게 설정하면 모서리가 균일하게 둥글어지고, 서로 다르게 설정하면 길쭉한 곡선이 만들어집니다. 이 설정은 모서리에만 영향을 주며, 직사각형의 위치와 전체 크기, 채우기, 테두리는 기존 설정대로 유지됩니다.