libro
www.tuyano.com
初心者のためのJavaFXプログラミング入門

JavFXアプリケーションの基本コード (6/6)

作成:2014-11-15 10:15
更新:2014-11-15 10:15

■FlowPaneについて

この他にもPaneはいろいろと用意されています。もう1つ、「FlowPane」というものも挙げておきましょう。これは、FlowLayoutのようなもので、追加したコンポーネントを順番に並べて表示するものです。
new FlowPane();

このように引数なしでインスタンスを作成します。レイアウトの仕組みなどはFlowLayoutと同じですが、しかし組み込まれたコンポーネントの管理はちょっと違います。

FlowPaneの内部では、組み込まれたコンポーネント類をListにまとめて管理しています。このListインスタンスは、「getChildren」というメソッドで取り出せます。このListにコンポーネントを追加することで、表示されるようになります。リストを見ると、
pane.getChildren().add(label);
こんな具合にしてコンポーネントを追加しているのがわかることでしょう。何か違和感を覚える人も多いでしょうが、「Listで管理する」ということは、コンテナ内のコンポーネントを扱うのに特別な仕組みを覚えなくていいということです。コレクションは誰でも普通に使うものですからね。

とりあえず、BorderPaneFlowPaneを覚えれば、コンポーネント組み込みの基本が使えるようになります。その他のPaneは、いずれ改めて触れることにしましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package com.tuyano.libro;

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();
    }

}

※関連コンテンツ

「初心者のためのJavaFXプログラミング入門」に戻る