モジュール javafx.graphics
パッケージ javafx.scene.layout

クラスFlowPane

  • すべての実装されたインタフェース:
    Styleable, EventTarget


    public class FlowPane
    extends Pane
    FlowPaneは、フローペインの境界で折り返されるフローに子をレイアウトします。

    水平フローペイン(デフォルト)は、ノードを行形式でレイアウトし、フローペインの幅で折り返します。 垂直フローペインは、ノードを列形式でレイアウトし、フローペインの高さで折り返します。 フローペインにボーダーまたは余白(あるいはその両方)が設定されている場合、コンテンツはこれらの枠内でフローします。

    FlowPaneのprefWrapLengthプロパティは、その優先幅(水平の場合)または優先高(垂直の場合)を設定します。 デフォルト値(400)では十分でない場合、アプリケーションでprefWrapLengthを設定する必要があります。 prefWrapLengthは優先サイズを計算するためにのみ使用され、フローペインの実際のサイズに追随する、実際の折返し次元を反映していない可能性があることに注意してください。

    位置合せプロパティは、フローペインの境界内での行および列の位置合せ方法を制御し、デフォルトでPos.TOP_LEFTに設定されます。 また、水平の場合はrowValignmentを設定し、垂直の場合はcolumnHalignmentを設定することで、行および列内のノードの位置合せを制御することもできます。

    水平フローペインの例:

    
         Image images[] = { ... };
         FlowPane flow = new FlowPane();
         flow.setVgap(8);
         flow.setHgap(4);
         flow.setPrefWrapLength(300); // preferred width = 300
         for (int i = 0; i < images.length; i++) {
             flow.getChildren().add(new ImageView(image[i]);
         }
     

    垂直フローペインの例:

    
         FlowPane flow = new FlowPane(Orientation.VERTICAL);
         flow.setColumnHalignment(HPos.LEFT); // align labels on left
         flow.setPrefWrapLength(200); // preferred height = 200
         for (int i = 0; i < titles.size(); i++) {
             flow.getChildren().add(new Label(titles[i]);
         }
     

    FlowPaneは、子の表示可能なプロパティ値にかかわらず、管理対象の子をすべてレイアウトします。管理対象外の子はすべてのレイアウト計算で無視されます。

    FlowPaneでは、CSSを使用して背景およびボーダーのスタイルを設定できます。 詳細は、Regionスーパー・クラスを参照してください。

    サイズ変更可能な範囲

    フローペインの親は、レイアウト時にフローペインのサイズ変更可能な範囲内でフローペインのサイズを変更します。 デフォルトでは、フローペインは次の表に示すように、コンテンツに基づいてこの範囲を計算します。

    水平線
    widthheight
    最小 左/右の枠+最大の子の優先幅 上/下の枠+指定した幅で折り返される場合に、優先高ですべての子を表示するために必要な高さ
    優先 左/右の枠+ prefWrapLength 上/下の枠+指定した幅で折り返される場合に、優先高ですべての子を表示するために必要な高さ
    最大 Double.MAX_VALUEDouble.MAX_VALUE

    Vertical
    widthheight
    最小 左/右の枠+指定した高さで折り返される場合に、優先幅ですべての子を表示するために必要な幅 上/下の枠+最大の子の優先高
    優先 左/右の枠+指定した高さで折り返される場合に、優先幅ですべての子を表示するために必要な幅 上/下の枠+ prefWrapLength
    最大 Double.MAX_VALUEDouble.MAX_VALUE

    フローペインの最大幅および最大高には制限がないため、親に割り当てられているスペースすべてを満たすために、親がその優先サイズより大きいサイズに変更される可能性があります。

    FlowPaneは、サイズ範囲を直接設定するためのプロパティを提供します。 これらのプロパティのデフォルトはセンチネル値Region.USE_COMPUTED_SIZEになりますが、アプリケーションで、必要に応じて、次のような他の値に設定できます。

    
         <b>flowpane.setMaxWidth(500);</b>
     
    アプリケーションでは、これらのプロパティをRegion.USE_COMPUTED_SIZEに戻すことによって、計算値をリストアできます。

    FlowPaneはデフォルトではそのコンテンツをクリップしないため、子の優先サイズが、フローペインが子に割り当てる必要があるスペースより大きい場合、子の境界がフローペイン自体の境界の外側まで拡大することがあります。

    導入されたバージョン:
    JavaFX 2.0
    • プロパティの詳細

      • orientation

        public final ObjectProperty<Orientation> orientationProperty
        このフローペインの向き。 水平フローペインは、子を左から右にレイアウトし、フローペインの幅境界で折り返します。 垂直フローペインは、子を上から下にレイアウトし、フローペインの高さで折り返します。 デフォルトは水平です。
        関連項目:
        getOrientation()setOrientation(Orientation)
      • hgap

        public final DoubleProperty hgapProperty
        水平方向のフローペインの各ノード間の水平方向の総スペース、または垂直方向のフローペインの列間のスペース。
        関連項目:
        getHgap()setHgap(double)
      • vgap

        public final DoubleProperty vgapProperty
        垂直フローペインの各ノード間の垂直方向の総スペース、または水平フローペインの行間のスペース。
        関連項目:
        getVgap()setVgap(double)
      • prefWrapLength

        public final DoubleProperty prefWrapLengthProperty
        コンテンツが水平フローペインにラップされる優先幅、またはコンテンツが垂直フローペインにラップされる優先高。

        この値は、フローペインの優先サイズを計算するためにのみ使用され、実際の幅や高さ(フローペインが優先サイズ以外のサイズに変更されると変化する場合がある)を反映していない可能性があります。

        アプリケーションでは、コンテンツを折り返す適切な範囲を定義するために、この値を初期化する必要があります。

        関連項目:
        getPrefWrapLength()setPrefWrapLength(double)
      • 位置合せ

        public final ObjectProperty<Pos> alignmentProperty
        フローペインのコンテンツの幅と高さの範囲内での全体的な位置合せ。

        水平フローペインの場合は、位置合せのhpos値を使用してフローペインの幅内で各行が位置合せされ、位置合せのvpos値を使用してフローペインの高さ内で行が位置合せされます。

        垂直フローペインの場合は、位置合せのvpos値を使用してフローペインの高さ内で各列が位置合せされ、位置合せのhpos値を使用してフローペインの幅内で列が位置合せされます。

        関連項目:
        getAlignment()setAlignment(Pos)
      • rowValignment

        public final ObjectProperty<VPos> rowValignmentProperty
        水平フローペインの各行内のノードの垂直方向の位置合せ。 このプロパティがVPos.BASELINEに設定されている場合、フローペインでは常に子のサイズをその優先高に変更し、行の高さを満たすように高さを拡大することはありません。 垂直フローペインではこのプロパティは無視されます。
        関連項目:
        getRowValignment()setRowValignment(VPos)
    • コンストラクタの詳細

      • FlowPane

        public FlowPane​()
        hgap/vgap = 0が指定された水平のFlowPaneレイアウトを作成します。
      • FlowPane

        public FlowPane​(Orientation orientation)
        向きとhgap/vgap = 0が指定されたFlowPaneレイアウトを作成します。
        パラメータ:
        orientation - タイルが流れる方向&ラップ
      • FlowPane

        public FlowPane​(double hgap,
                        double vgap)
        hgap/vgapが指定された水平のFlowPaneレイアウトを作成します。
        パラメータ:
        hgap - 各タイル間の水平方向のスペースの量
        vgap - 各タイル間の垂直方向のスペースの量
      • FlowPane

        public FlowPane​(Orientation orientation,
                        double hgap,
                        double vgap)
        向きとhgap/vgapが指定されたFlowPaneレイアウトを作成します。
        パラメータ:
        orientation - タイルが流れる方向&ラップ
        hgap - 各タイル間の水平方向のスペースの量
        vgap - 各タイル間の垂直方向のスペースの量
      • FlowPane

        public FlowPane​(Node... children)
        hgap/vgap = 0が指定された水平のFlowPaneレイアウトを作成します。
        パラメータ:
        children - このペインの子の初期設定。
        導入されたバージョン:
        JavaFX 8.0
      • FlowPane

        public FlowPane​(Orientation orientation,
                        Node... children)
        向きとhgap/vgap = 0が指定されたFlowPaneレイアウトを作成します。
        パラメータ:
        orientation - タイルが流れる方向&ラップ
        children - このペインの子の初期設定。
        導入されたバージョン:
        JavaFX 8.0
      • FlowPane

        public FlowPane​(double hgap,
                        double vgap,
                        Node... children)
        hgap/vgapが指定された水平のFlowPaneレイアウトを作成します。
        パラメータ:
        hgap - 各タイル間の水平方向のスペースの量
        vgap - 各タイル間の垂直方向のスペースの量
        children - このペインの子の初期設定。
        導入されたバージョン:
        JavaFX 8.0
      • FlowPane

        public FlowPane​(Orientation orientation,
                        double hgap,
                        double vgap,
                        Node... children)
        向きとhgap/vgapが指定されたFlowPaneレイアウトを作成します。
        パラメータ:
        orientation - タイルが流れる方向&ラップ
        hgap - 各タイル間の水平方向のスペースの量
        vgap - 各タイル間の垂直方向のスペースの量
        children - このペインの子の初期設定。
        導入されたバージョン:
        JavaFX 8.0
    • メソッドの詳細

      • setMargin

        public static void setMargin​(Node child,
                                     Insets value)
        フローペインに含まれている場合に、子のマージンを設定します。 設定されている場合、フローペインでは、子の周囲にマージン領域を配置してレイアウトします。 値をnullに設定すると、制約は削除されます。
        パラメータ:
        child - フローペインの子ノード
        value - 子の周囲の空白のマージン
      • getMargin

        public static Insets getMargin​(Node child)
        子のマージン制約を返します(設定されている場合)。
        パラメータ:
        child - フローペインの子ノード
        戻り値:
        子のマージン、またはマージンが設定されていない場合はnull
      • clearConstraints

        public static void clearConstraints​(Node child)
        子ノードからすべてのフローペイン制約を削除します。
        パラメータ:
        child - 子ノード
      • orientationProperty

        public final ObjectProperty<Orientation> orientationProperty​()
        このフローペインの向き。 水平フローペインは、子を左から右にレイアウトし、フローペインの幅境界で折り返します。 垂直フローペインは、子を上から下にレイアウトし、フローペインの高さで折り返します。 デフォルトは水平です。
        関連項目:
        getOrientation()setOrientation(Orientation)
      • setOrientation

        public final void setOrientation​(Orientation value)
        プロパティorientationの値を設定します。
        プロパティの説明:
        このフローペインの向き。 水平フローペインは、子を左から右にレイアウトし、フローペインの幅境界で折り返します。 垂直フローペインは、子を上から下にレイアウトし、フローペインの高さで折り返します。 デフォルトは水平です。
      • getOrientation

        public final Orientation getOrientation​()
        プロパティorientationの値を取得します。
        プロパティの説明:
        このフローペインの向き。 水平フローペインは、子を左から右にレイアウトし、フローペインの幅境界で折り返します。 垂直フローペインは、子を上から下にレイアウトし、フローペインの高さで折り返します。 デフォルトは水平です。
      • hgapProperty

        public final DoubleProperty hgapProperty​()
        水平方向のフローペインの各ノード間の水平方向の総スペース、または垂直方向のフローペインの列間のスペース。
        関連項目:
        getHgap()setHgap(double)
      • setHgap

        public final void setHgap​(double value)
        プロパティhgapの値を設定します。
        プロパティの説明:
        水平方向のフローペインの各ノード間の水平方向の総スペース、または垂直方向のフローペインの列間のスペース。
      • getHgap

        public final double getHgap​()
        プロパティhgapの値を取得します。
        プロパティの説明:
        水平方向のフローペインの各ノード間の水平方向の総スペース、または垂直方向のフローペインの列間のスペース。
      • vgapProperty

        public final DoubleProperty vgapProperty​()
        垂直フローペインの各ノード間の垂直方向の総スペース、または水平フローペインの行間のスペース。
        関連項目:
        getVgap()setVgap(double)
      • setVgap

        public final void setVgap​(double value)
        プロパティvgapの値を設定します。
        プロパティの説明:
        垂直フローペインの各ノード間の垂直方向の総スペース、または水平フローペインの行間のスペース。
      • getVgap

        public final double getVgap​()
        プロパティvgapの値を取得します。
        プロパティの説明:
        垂直フローペインの各ノード間の垂直方向の総スペース、または水平フローペインの行間のスペース。
      • prefWrapLengthProperty

        public final DoubleProperty prefWrapLengthProperty​()
        コンテンツが水平フローペインにラップされる優先幅、またはコンテンツが垂直フローペインにラップされる優先高。

        この値は、フローペインの優先サイズを計算するためにのみ使用され、実際の幅や高さ(フローペインが優先サイズ以外のサイズに変更されると変化する場合がある)を反映していない可能性があります。

        アプリケーションでは、コンテンツを折り返す適切な範囲を定義するために、この値を初期化する必要があります。

        関連項目:
        getPrefWrapLength()setPrefWrapLength(double)
      • setPrefWrapLength

        public final void setPrefWrapLength​(double value)
        プロパティprefWrapLengthの値を設定します。
        プロパティの説明:
        コンテンツが水平フローペインにラップされる優先幅、またはコンテンツが垂直フローペインにラップされる優先高。

        この値は、フローペインの優先サイズを計算するためにのみ使用され、実際の幅や高さ(フローペインが優先サイズ以外のサイズに変更されると変化する場合がある)を反映していない可能性があります。

        アプリケーションでは、コンテンツを折り返す適切な範囲を定義するために、この値を初期化する必要があります。

      • getPrefWrapLength

        public final double getPrefWrapLength​()
        プロパティprefWrapLengthの値を取得します。
        プロパティの説明:
        コンテンツが水平フローペインにラップされる優先幅、またはコンテンツが垂直フローペインにラップされる優先高。

        この値は、フローペインの優先サイズを計算するためにのみ使用され、実際の幅や高さ(フローペインが優先サイズ以外のサイズに変更されると変化する場合がある)を反映していない可能性があります。

        アプリケーションでは、コンテンツを折り返す適切な範囲を定義するために、この値を初期化する必要があります。

      • alignmentProperty

        public final ObjectProperty<Pos> alignmentProperty​()
        フローペインのコンテンツの幅と高さの範囲内での全体的な位置合せ。

        水平フローペインの場合は、位置合せのhpos値を使用してフローペインの幅内で各行が位置合せされ、位置合せのvpos値を使用してフローペインの高さ内で行が位置合せされます。

        垂直フローペインの場合は、位置合せのvpos値を使用してフローペインの高さ内で各列が位置合せされ、位置合せのhpos値を使用してフローペインの幅内で列が位置合せされます。

        関連項目:
        getAlignment()setAlignment(Pos)
      • setAlignment

        public final void setAlignment​(Pos value)
        プロパティalignmentの値を設定します。
        プロパティの説明:
        フローペインのコンテンツの幅と高さの範囲内での全体的な位置合せ。

        水平フローペインの場合は、位置合せのhpos値を使用してフローペインの幅内で各行が位置合せされ、位置合せのvpos値を使用してフローペインの高さ内で行が位置合せされます。

        垂直フローペインの場合は、位置合せのvpos値を使用してフローペインの高さ内で各列が位置合せされ、位置合せのhpos値を使用してフローペインの幅内で列が位置合せされます。

      • getAlignment

        public final Pos getAlignment​()
        プロパティalignmentの値を取得します。
        プロパティの説明:
        フローペインのコンテンツの幅と高さの範囲内での全体的な位置合せ。

        水平フローペインの場合は、位置合せのhpos値を使用してフローペインの幅内で各行が位置合せされ、位置合せのvpos値を使用してフローペインの高さ内で行が位置合せされます。

        垂直フローペインの場合は、位置合せのvpos値を使用してフローペインの高さ内で各列が位置合せされ、位置合せのhpos値を使用してフローペインの幅内で列が位置合せされます。

      • setColumnHalignment

        public final void setColumnHalignment​(HPos value)
        プロパティcolumnHalignmentの値を設定します。
        プロパティの説明:
        垂直フローペインの各列内のノードの水平方向の位置合せ。 水平フローペインではこのプロパティは無視されます。
      • getColumnHalignment

        public final HPos getColumnHalignment​()
        プロパティcolumnHalignmentの値を取得します。
        プロパティの説明:
        垂直フローペインの各列内のノードの水平方向の位置合せ。 水平フローペインではこのプロパティは無視されます。
      • rowValignmentProperty

        public final ObjectProperty<VPos> rowValignmentProperty​()
        水平フローペインの各行内のノードの垂直方向の位置合せ。 このプロパティがVPos.BASELINEに設定されている場合、フローペインでは常に子のサイズをその優先高に変更し、行の高さを満たすように高さを拡大することはありません。 垂直フローペインではこのプロパティは無視されます。
        関連項目:
        getRowValignment()setRowValignment(VPos)
      • setRowValignment

        public final void setRowValignment​(VPos value)
        プロパティrowValignmentの値を設定します。
        プロパティの説明:
        水平フローペインの各行内のノードの垂直方向の位置合せ。 このプロパティがVPos.BASELINEに設定されている場合、フローペインでは常に子のサイズをその優先高に変更し、行の高さを満たすように高さを拡大することはありません。 垂直フローペインではこのプロパティは無視されます。
      • getRowValignment

        public final VPos getRowValignment​()
        プロパティrowValignmentの値を取得します。
        プロパティの説明:
        水平フローペインの各行内のノードの垂直方向の位置合せ。 このプロパティがVPos.BASELINEに設定されている場合、フローペインでは常に子のサイズをその優先高に変更し、行の高さを満たすように高さを拡大することはありません。 垂直フローペインではこのプロパティは無視されます。
      • computeMinWidth

        protected double computeMinWidth​(double height)
        クラスからコピーされた説明: Region
        このリージョンの最小幅を計算します。 デフォルトでは、左枠と右枠の合計を返します。regionのサブクラスでは、このメソッドをオーバーライドして、そのコンテンツおよびレイアウト手法に基づいて適切な値を返す必要があります。 サブクラスにVERTICALコンテンツ・バイアスがない場合は、heightパラメータを無視できます。
        オーバーライド:
        computeMinWidth 、クラス: Region
        パラメータ:
        height - 最小幅が高さに依存する場合に使用する必要がある高さ
        戻り値:
        このリージョンの計算された最小幅
      • computeMinHeight

        protected double computeMinHeight​(double width)
        クラスからコピーされた説明: Region
        このリージョンの最小高を計算します。 デフォルトでは、上枠と下枠の合計を返します。 Regionのサブクラスでは、このメソッドをオーバーライドして、そのコンテンツおよびレイアウト手法に基づいて適切な値を返す必要があります。 サブクラスにHORIZONTALコンテンツ・バイアスがない場合は、widthパラメータを無視できます。
        オーバーライド:
        computeMinHeight 、クラス: Region
        パラメータ:
        width - 最小高が幅に依存する場合に使用する必要がある幅
        戻り値:
        このリージョンの計算された最小高
      • computePrefWidth

        protected double computePrefWidth​(double forHeight)
        クラスからコピーされた説明: Region
        指定された高さに対するこのリージョンの優先幅を計算します。 Regionのサブクラスでは、このメソッドをオーバーライドして、そのコンテンツおよびレイアウト手法に基づいて適切な値を返す必要があります。 サブクラスにVERTICALコンテンツ・バイアスがない場合は、heightパラメータを無視できます。
        オーバーライド:
        computePrefWidth 、クラス: Region
        パラメータ:
        forHeight - 優先幅がそれに依存する場合に使用する必要がある高さ
        戻り値:
        このリージョンの計算された優先幅
      • computePrefHeight

        protected double computePrefHeight​(double forWidth)
        クラスからコピーされた説明: Region
        指定された幅に対するこのリージョンの優先高を計算します。Regionのサブクラスでは、このメソッドをオーバーライドして、そのコンテンツおよびレイアウト手法に基づいて適切な値を返す必要があります。 サブクラスにHORIZONTALコンテンツ・バイアスがない場合は、widthパラメータを無視できます。
        オーバーライド:
        computePrefHeight 、クラス: Region
        パラメータ:
        forWidth - 優先高がそれに依存する場合に使用する必要がある幅
        戻り値:
        このリージョンの計算された優先高
      • requestLayout

        public void requestLayout​()
        クラスからコピーされた説明: Parent
        次のシーンがレンダリングされる前に実行するレイアウト・パスを要求します。 これは、パルス(アニメーションのフレーム)ごとに1回行われるように、非同期にバッチ処理されます。

        この親がレイアウト・ルートまたは管理対象外のいずれかである場合は、シーンのダーティ・レイアウト・リストに直接追加されます。そうでない場合は、requestParentLayoutが起動されます。

        オーバーライド:
        requestLayout 、クラス: Parent
      • layoutChildren

        protected void layoutChildren​()
        クラスからコピーされた説明: Parent
        このParentの子をレイアウトするレイアウト・パス中に起動されます。 デフォルトでは、管理対象のサイズ変更可能なコンテンツのサイズをその優先サイズに合せて設定するのみで、ノードの配置は行われません。

        サブクラスは必要に応じてこの関数をオーバーライドし、コンテンツをレイアウトする必要があります。

        オーバーライド:
        layoutChildren 、クラス: Parent
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        戻り値:
        このクラスに関連付けられたCssMetaData。スーパークラスのCssMetaDataを含むことがあります。
        導入されたバージョン:
        JavaFX 8.0
      • getCssMetaData

        public List<CssMetaData<? extends Styleable,?>> getCssMetaData​()
        NodeのCssMetaDataがリフレクションなしでアクセス可能になるように、このメソッドはNode.getClassCssMetaData()に委任する必要があります。
        定義:
        getCssMetaData 、インタフェース: Styleable
        オーバーライド:
        getCssMetaData 、クラス: Region
        戻り値:
        このノードに関連付けられたCssMetaData。スーパークラスのCssMetaDataを含むことがあります。
        導入されたバージョン:
        JavaFX 8.0