JavaFX | JavaFX 응용 프로그램 기본 코드 | FlowPane

이 외에도 Pane은 여러가지가 준비되어 있다. 그 중 한개가 “FlowPane"라는 것인데, 이것은 FlowLayout 와 같은 것으로, 추가 구성 요소를 순서대로 정렬하여 표시하는 것이다.

new FlowPane();

이와 같이 인수없이 인스턴스를 생성한다. 레이아웃의 구조 등은 FlowLayout과 동일하지만, 그러나 포한된 구성 요소의 관리는 조금 다르다.

FlowPane 내부에서는 포함된 구성 요소 종류를 List에 함께 관리하고 있다. 이 List 인스턴스는 “getChildren"라는 메소드로 꺼낼 수 있다. 이 List에 구성 요소를 추가하여 표시되도록 한다. 아래를 보면,

pane.getChildren().add(label);

이런 방식으로 하여 구성 요소를 추가하고 있다는 것을 알수 있을 거다. 뭔가 불편하게 생각하는 사람이 많을 지도 모르지만, “List로 관리한다"는 것은 컨테이너 내의 구성 요소를 다루기 위해 특별한 방법이라고 기억하지 않길 바란다. 보통의 컬렉션과는 다른 것이다.

우선, BorderPane과 FlowPane을 익히면 구성 요소 기본적인 빌트인을 사용할 수 있게 된다. 그 외에 Pane은 조만간에 다시 다루기로 하자.

package com.devkuma.javafx;
 
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;
 
public class App extends Application {
 
    public static void main(String[] args) {
        launch(args);
    }
 
    @Override
    public void start(Stage stage) throws Exception {
        Label label = new Label("This is JavaFX!");
        FlowPane pane = new FlowPane();
        pane.getChildren().add(label);
        Scene scene = new Scene(pane, 320, 240);
        stage.setScene(scene);
        stage.show();
    }
 
}