[java] JavaFX 레이아웃 및 컨테이너

JavaFX는 Java 기반의 풍부한 클라이언트 애플리케이션을 개발하기 위한 플랫폼입니다. 이 플랫폼은 다양한 UI 구성 요소를 제공하며, 이를 구성하기 위해 사용하는 레이아웃 및 컨테이너에 대해 알아보겠습니다.

레이아웃(Layout)

레이아웃은 UI 요소를 배치하기 위해 사용되는 컨테이너입니다. JavaFX는 다양한 종류의 레이아웃을 제공하며, 이를 조합하여 유연하고 다양한 UI를 구성할 수 있습니다.

VBox

VBox는 수직으로 요소를 정렬하는 레이아웃입니다. 요소는 상단에서 하단으로 순차적으로 배치됩니다.

VBox vbox = new VBox();
vbox.getChildren().addAll(node1, node2, node3);

HBox

HBox는 수평으로 요소를 정렬하는 레이아웃입니다. 요소는 좌측에서 우측으로 순차적으로 배치됩니다.

HBox hbox = new HBox();
hbox.getChildren().addAll(node1, node2, node3);

GridPane

GridPane은 행과 열의 그리드로 요소를 배치하는 레이아웃입니다. 각 요소는 격자 셀에 배치됩니다.

GridPane gridPane = new GridPane();
gridPane.add(node1, 0, 0); // 첫 번째 행, 첫 번째 열
gridPane.add(node2, 1, 0); // 첫 번째 행, 두 번째 열
gridPane.add(node3, 0, 1); // 두 번째 행, 첫 번째 열

컨테이너(Container)

컨테이너는 UI 요소를 그룹화하고 조직화하는 데 사용되는 클래스입니다. 다양한 컨테이너를 사용하여 UI를 구성할 수 있습니다.

BorderPane

BorderPane은 상단, 하단, 좌측, 우측, 중앙 등에 요소를 배치할 수 있는 컨테이너입니다.

BorderPane borderPane = new BorderPane();
borderPane.setTop(node1);
borderPane.setCenter(node2);
borderPane.setBottom(node3);

StackPane

StackPane은 요소를 중첩하여 배치하는데 사용되는 컨테이너입니다. StackPane의 자식 요소들은 중앙에 배치됩니다.

StackPane stackPane = new StackPane();
stackPane.getChildren().addAll(node1, node2, node3);

AnchorPane

AnchorPane은 요소를 절대적인 위치에 배치할 수 있는 컨테이너입니다. 요소의 위치는 상위 레이아웃과의 상대적인 위치에 의존합니다.

AnchorPane anchorPane = new AnchorPane();
AnchorPane.setTopAnchor(node1, 10.0);
AnchorPane.setLeftAnchor(node1, 10.0);

결론

JavaFX의 레이아웃과 컨테이너는 다양한 방법으로 UI를 구성할 수 있도록 도와줍니다. 이를 활용하여 풍부하고 유연한 클라이언트 애플리케이션을 개발할 수 있습니다. 추가 자세한 내용은 JavaFX 공식 문서를 참조하시기 바랍니다.