사각형(Rectangle)은 네 개의 변으로 이루어진 닫힌 다각형으로, 인접한 두 변이 이루는 각은 항상 직각이며 마주 보는 두 변은 서로 평행합니다. 사각형은 세로 변과 가로 변의 길이에 해당하는 높이(height)와 너비(width)로 정의됩니다.
JavaFX에서 사각형은 javafx.scene.shape.Rectangle 클래스로 표현됩니다. 이 클래스는 다음과 같은 네 가지 핵심 속성을 제공합니다.
x − 사각형 왼쪽 위 모서리의 X 좌표입니다. setX() 메서드를 사용해 값을 설정할 수 있습니다.
y − 사각형 왼쪽 위 모서리의 Y 좌표입니다. setY() 메서드를 사용해 값을 설정할 수 있습니다.
width − 사각형의 가로 길이(픽셀)입니다. setWidth() 메서드를 사용해 값을 설정할 수 있습니다.
height − 사각형의 세로 길이(픽셀)입니다. setHeight() 메서드를 사용해 값을 설정할 수 있습니다.
사각형 생성 절차
JavaFX에서 사각형을 만들려면 다음 단계를 따르면 됩니다.
Rectangle 클래스의 인스턴스를 생성합니다.
setter 메서드를 사용하거나, 생성자에 값을 인수로 전달하여 필요한 속성을 설정합니다.
생성된 노드(도형)를 Group 객체에 추가합니다.
예제
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.Rectangle;
public class DrawinRectangle extends Application {
public void start(Stage stage) {
// 사각형 그리기
Rectangle shape = new Rectangle();
// 사각형 속성 설정
shape.setX(150.0f);
shape.setY(75.0f);
shape.setWidth(300.0f);
shape.setHeight(150.0f);
// 기타 속성 설정
shape.setFill(Color.DARKCYAN);
shape.setStrokeWidth(8.0);
shape.setStroke(Color.DARKSLATEGREY);
// Scene 설정
Group root = new Group(shape);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("Drawing Rectangle");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}실행 결과

둥근 모서리 사각형(Rounded Rectangle)
위에서 설명한 기본 속성 외에도 Rectangle 클래스는 둥근 모서리를 표현하기 위한 두 가지 속성을 추가로 제공합니다.
arcWidth − 네 개의 모서리에 적용되는 호(arc)의 지름(가로 크기)입니다. setArcWidth() 메서드를 사용해 값을 설정할 수 있습니다.
arcHeight − 네 개의 모서리에 적용되는 호의 세로 크기입니다. setArcHeight() 메서드를 사용해 값을 설정할 수 있습니다.
이 두 속성에 값을 설정하면 모서리가 둥글게 처리된 사각형을 그릴 수 있습니다.
예제
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.Rectangle;
public class DrawingRoundedRectangle extends Application {
public void start(Stage stage) {
// 사각형 그리기
Rectangle shape = new Rectangle();
// 사각형 속성 설정
shape.setX(150.0f);
shape.setY(75.0f);
shape.setWidth(300.0f);
shape.setHeight(150.0f);
shape.setArcHeight(30.0);
shape.setArcWidth(30.0);
// 기타 속성 설정
shape.setFill(Color.DARKCYAN);
shape.setStrokeWidth(8.0);
shape.setStroke(Color.DARKSLATEGREY);
// Scene 설정
Group root = new Group(shape);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("Drawing Rectangle");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}실행 결과
