[java] JavaFX를 이용한 레이아웃 관리하기

JavaFX는 다양한 레이아웃 매니저를 제공하여 UI 요소들을 효율적으로 배치할 수 있습니다. 이번 포스트에서는 JavaFX에서 제공되는 레이아웃 매니저들을 살펴보고, 각 레이아웃 매니저의 특징과 어떻게 사용하는지 알아보겠습니다.

목차

  1. 레이아웃 매니저란?
  2. 종류
  3. 사용 예시

레이아웃 매니저란?

레이아웃 매니저는 UI 요소들을 효율적으로 배치하기 위한 도구입니다. JavaFX에서는 다양한 레이아웃 매니저를 제공하고 있어, 사용자의 요구에 맞게 적합한 레이아웃 매니저를 선택하여 UI를 구성할 수 있습니다.

종류

VBox

VBox는 세로 방향으로 UI 요소들을 배치하는 레이아웃 매니저입니다. 요소들이 위에서 아래로 순서대로 배치되며, 주로 리스트나 폼과 같은 UI를 구성하는 데 사용됩니다.

HBox

HBox는 가로 방향으로 UI 요소들을 배치하는 레이아웃 매니저로, 요소들이 왼쪽에서 오른쪽으로 순서대로 배치됩니다. 주로 버튼이나 메뉴 등 가로로 배치해야 하는 경우에 사용됩니다.

BorderPane

BorderPane은 상, 하, 좌, 우, 중앙으로 UI 요소들을 배치할 수 있는 레이아웃 매니저입니다. 가장 자주 사용되는 레이아웃 중 하나로, 메인 화면 등을 구성할 때 활용됩니다.

사용 예시

아래는 VBox, HBox, BorderPane를 사용한 예시 코드입니다.

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        // VBox 예시
        VBox vBox = new VBox();
        vBox.getChildren().addAll(new Button("버튼1"), new Button("버튼2"), new Button("버튼3"));

        // HBox 예시
        HBox hBox = new HBox();
        hBox.getChildren().addAll(new Button("버튼1"), new Button("버튼2"), new Button("버튼3"));

        // BorderPane 예시
        BorderPane borderPane = new BorderPane();
        borderPane.setTop(new Button("상단"));
        borderPane.setBottom(new Button("하단"));
        borderPane.setLeft(new Button("좌측"));
        borderPane.setRight(new Button("우측"));
        borderPane.setCenter(new Button("가운데"));

        Scene scene = new Scene(borderPane, 300, 250);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

위 예시 코드를 실행하면, VBox, HBox, BorderPane를 이용하여 간단한 UI를 만들 수 있습니다.

이러한 레이아웃을 이용하면 UI 구성이 쉽고 유연해지며, 다양한 화면 구성에 대응할 수 있습니다.

다음 포스트에서는 각 레이아웃 매니저의 속성과 설정 방법에 대해 자세히 다루도록 하겠습니다.