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

クラスBorderPane

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


    public class BorderPane
    extends Pane
    BorderPaneは、上、左、右、下、中央の各位置に子をレイアウトします。

    各子供の位置を示す図

    上下の子は、その優先高に合せてサイズ変更され、ボーダー・ペインの幅が拡張されます。 左右の子は、その優先幅に合せてサイズ変更され、上下ノード間の長さが拡張されます。 また、中央ノードは、中央の使用可能なスペース全体に表示されるようにサイズ変更されます。 いずれかの位置はnullの可能性があります。 例:
         BorderPane borderPane = new BorderPane();
         ToolBar toolbar = new ToolBar();
         HBox statusbar = new HBox();
         Node appContent = new AppContentNode();
         borderPane.setTop(toolbar);
         borderPane.setCenter(appContent);
         borderPane.setBottom(statusbar);
     

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

    BorderPaneでは、その子の最小サイズ、優先サイズおよび最大サイズが考慮されます。 子が、そのサイズ変更可能な範囲のために、その位置に収まるようにサイズ変更できない場合は、次のように、デフォルトの位置合せを使用して、スペースに対して相対的に位置合せされます。

    • 上: Pos.TOP_LEFT
    • 下: Pos.BOTTOM_LEFT
    • 左: Pos.TOP_LEFT
    • 右: Pos.TOP_RIGHT
    • 中央: Pos.CENTER
    これらの位置合せのカスタマイズ方法は、「オプションのレイアウト制約」を参照してください。

    BorderPaneでは、子の可視プロパティ値に関係なく、5つの位置に設定される子がそれぞれレイアウトされ、管理対象外の子は無視されます。

    サイズ変更可能な範囲

    BorderPaneは、一般的に、Sceneのルートとして使用され、その場合は、そのサイズがシーンのサイズに追随します。 シーンまたはステージ・サイズがアプリケーションによって直接設定されていない場合は、シーン・サイズはボーダー・ペインの優先サイズに初期化されます。 ただし、ボーダー・ペインにシーン以外の親がある場合は、その親が、ボーダー・ペインのサイズ変更可能な範囲内で、レイアウト中にボーダー・ペインをサイズ変更します。 デフォルトでは、ボーダー・ペインは、次の表で説明するように、そのコンテンツに基づいてこの範囲を計算します。

    BorderPaneサイズ変更表
    widthheight
    最小 左/右の枠+左/右の子が、その優先幅および上/下/中央を適用し、少なくともその最小幅を使用して表示されるために必要な幅 上/下の枠+上/下の子が、その優先高と左/右/中央を適用し、少なくとも子の最小高を使用して表示されるために必要な高さ
    優先 左/右の枠+上/右/下/左/中央の子が、少なくともその優先幅を使用して表示されるために必要な幅 上/下の枠+上/右/下/左/中央の子が、少なくとも子の優先高を使用して表示されるために必要な高さ
    最大 Double.MAX_VALUEDouble.MAX_VALUE

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

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

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

    BorderPaneはデフォルトではそのコンテンツをクリップしないため、子の最小サイズが原因でスペース内に子を収めることができない場合は、子の境界がBorderPane自体の境界の外側まで拡大することがあります。

    オプションのレイアウト制約

    アプリケーションでは、BorderPaneのレイアウトをカスタマイズするために、個別の子に制約を設定できます。 BorderPaneは、子に制約を設定する静的メソッドを制約ごとに提供しています。

    BorderPane制約表
    制約Type説明
    位置合せjavafx.geometry.Posボーダー・ペインのその領域内の子の位置合せ。
    マージンjavafx.geometry.Insets子の外側のマージン領域。

    例:

         ListView list = new ListView();
         BorderPane.setAlignment(list, Pos.TOP_LEFT);
         BorderPane.setMargin(list, new Insets(12,12,12,12));
         borderPane.setCenter(list);
     
    導入されたバージョン:
    JavaFX 2.0
    • プロパティの詳細

      • center

        public final ObjectProperty<Node> centerProperty
        このボーダー・ペインの中央に配置されるノード。 サイズ変更が可能な場合は、上下左右のノード間でボーダー・ペインの中央全体に表示されるようにサイズ変更されます。 中央のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、中央揃えになります。
        関連項目:
        getCenter()setCenter(Node)
      • top

        public final ObjectProperty<Node> topProperty
        このボーダー・ペインの上端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 上部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
        関連項目:
        getTop()setTop(Node)
      • bottom

        public final ObjectProperty<Node> bottomProperty
        ボーダー・ペインの下端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 下部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左下に位置合せされます。
        関連項目:
        getBottom()setBottom(Node)
      • left

        public final ObjectProperty<Node> leftProperty
        このボーダー・ペインの左端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 左のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
        関連項目:
        getLeft()setLeft(Node)
      • right

        public final ObjectProperty<Node> rightProperty
        このボーダー・ペインの右端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 右のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の右上に位置合せされます。
        関連項目:
        getRight()setRight(Node)
    • コンストラクタの詳細

      • BorderPane

        public BorderPane​()
        BorderPaneレイアウトを作成します。
      • BorderPane

        public BorderPane​(Node center)
        BorderPaneの中央としてノードが指定されたBorderPaneレイアウトを作成します。
        パラメータ:
        center - BorderPaneの中央として設定するノード。
        導入されたバージョン:
        JavaFX 8.0
      • BorderPane

        public BorderPane​(Node center,
                          Node top,
                          Node right,
                          Node bottom,
                          Node left)
        BorderPaneの主なレイアウト領域ごとに使用するノードが指定されたBorderPaneレイアウトを作成します。 上、右、下および左のノードは、時計回りにリストされます。
        パラメータ:
        center - BorderPaneの中央として設定するノード。
        top - BorderPaneの上部として設定するノード。
        right - BorderPaneの右として設定するノード。
        bottom - BorderPaneの下部として設定するノード。
        left - BorderPaneの左として設定するノード。
        導入されたバージョン:
        JavaFX 8.0
    • メソッドの詳細

      • setAlignment

        public static void setAlignment​(Node child,
                                        Pos value)
        ボーダー・ペインに含まれている場合に、子の位置合せを設定します。 設定されている場合は、子の位置に対するボーダー・ペインのデフォルトの位置合せがオーバーライドされます。 値をnullに設定すると、制約は削除されます。
        パラメータ:
        child - ボーダー・ペインの子ノード
        value - 子の配置位置
      • getAlignment

        public static Pos getAlignment​(Node child)
        子の位置合せ制約を返します(設定されている場合)。
        パラメータ:
        child - ボーダー・ペインの子ノード
        戻り値:
        子の配置位置、または位置合せが設定されていない場合はnull
      • 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 - 子ノード
      • centerProperty

        public final ObjectProperty<Node> centerProperty​()
        このボーダー・ペインの中央に配置されるノード。 サイズ変更が可能な場合は、上下左右のノード間でボーダー・ペインの中央全体に表示されるようにサイズ変更されます。 中央のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、中央揃えになります。
        関連項目:
        getCenter()setCenter(Node)
      • setCenter

        public final void setCenter​(Node value)
        プロパティcenterの値を設定します。
        プロパティの説明:
        このボーダー・ペインの中央に配置されるノード。 サイズ変更が可能な場合は、上下左右のノード間でボーダー・ペインの中央全体に表示されるようにサイズ変更されます。 中央のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、中央揃えになります。
      • getCenter

        public final Node getCenter​()
        プロパティcenterの値を取得します。
        プロパティの説明:
        このボーダー・ペインの中央に配置されるノード。 サイズ変更が可能な場合は、上下左右のノード間でボーダー・ペインの中央全体に表示されるようにサイズ変更されます。 中央のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、中央揃えになります。
      • topProperty

        public final ObjectProperty<Node> topProperty​()
        このボーダー・ペインの上端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 上部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
        関連項目:
        getTop()setTop(Node)
      • setTop

        public final void setTop​(Node value)
        プロパティtopの値を設定します。
        プロパティの説明:
        このボーダー・ペインの上端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 上部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
      • getTop

        public final Node getTop​()
        プロパティtopの値を取得します。
        プロパティの説明:
        このボーダー・ペインの上端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 上部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
      • bottomProperty

        public final ObjectProperty<Node> bottomProperty​()
        ボーダー・ペインの下端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 下部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左下に位置合せされます。
        関連項目:
        getBottom()setBottom(Node)
      • setBottom

        public final void setBottom​(Node value)
        プロパティbottomの値を設定します。
        プロパティの説明:
        ボーダー・ペインの下端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 下部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左下に位置合せされます。
      • getBottom

        public final Node getBottom​()
        プロパティbottomの値を取得します。
        プロパティの説明:
        ボーダー・ペインの下端に配置されるノード。 サイズ変更が可能な場合は、その優先高に合せてサイズ変更され、その幅はボーダー・ペインの幅全体になります。 下部のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左下に位置合せされます。
      • leftProperty

        public final ObjectProperty<Node> leftProperty​()
        このボーダー・ペインの左端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 左のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
        関連項目:
        getLeft()setLeft(Node)
      • setLeft

        public final void setLeft​(Node value)
        プロパティleftの値を設定します。
        プロパティの説明:
        このボーダー・ペインの左端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 左のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
      • getLeft

        public final Node getLeft​()
        プロパティleftの値を取得します。
        プロパティの説明:
        このボーダー・ペインの左端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 左のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の左上に位置合せされます。
      • rightProperty

        public final ObjectProperty<Node> rightProperty​()
        このボーダー・ペインの右端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 右のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の右上に位置合せされます。
        関連項目:
        getRight()setRight(Node)
      • setRight

        public final void setRight​(Node value)
        プロパティrightの値を設定します。
        プロパティの説明:
        このボーダー・ペインの右端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 右のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の右上に位置合せされます。
      • getRight

        public final Node getRight​()
        プロパティrightの値を取得します。
        プロパティの説明:
        このボーダー・ペインの右端に配置されるノード。 サイズ変更が可能な場合は、その優先幅に合せてサイズ変更され、その高さは上下のノード間のボーダー・ペインの高さ全体になります。 右のスペース全体に表示されるようにノードをサイズ変更できない(サイズ変更不可であるか、その最大サイズによりそのようにできない)場合は、子の位置合せ制約が設定されている場合を除いて、スペース内の右上に位置合せされます。
      • getContentBias

        public Orientation getContentBias​()
        次のクラスからコピーされた説明: Node
        レイアウト用にノードのサイズ変更バイアスの向きを返します。 ノード・タイプにはバイアスがないため、nullを返します。 ノードがサイズ変更可能で、その高さが幅に依存する場合は、HORIZONTALを返し、その幅が高さに依存する場合は、VERTICALを返します。

        Resizableのサブクラスはこのメソッドをオーバーライドし、適切な値を返す必要があります。

        オーバーライド:
        getContentBias 、クラス: Node
        戻り値:
        中央、右、下、左または上にコンテンツ・バイアスがない場合はnull。
        関連項目:
        Node.isResizable()Node.minWidth(double)Node.minHeight(double)Node.prefWidth(double)Node.prefHeight(double)Node.maxWidth(double)Node.maxHeight(double)
      • 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 height)
        クラスからコピーされた説明: Region
        指定された高さに対するこのリージョンの優先幅を計算します。 Regionのサブクラスでは、このメソッドをオーバーライドして、そのコンテンツおよびレイアウト手法に基づいて適切な値を返す必要があります。 サブクラスにVERTICALコンテンツ・バイアスがない場合は、heightパラメータを無視できます。
        オーバーライド:
        computePrefWidth 、クラス: Region
        パラメータ:
        height - 推奨される幅がそれに依存する場合に使用する必要がある高さ
        戻り値:
        このリージョンの計算された優先幅
      • computePrefHeight

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

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

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

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