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

クラスPane

  • すべての実装されたインタフェース:
    Styleable, EventTarget
    直系の既知のサブクラス:
    AnchorPane, BorderPane, DialogPane, FlowPane, GridPane, HBox, PopupControl.CSSBridge, StackPane, TextFlow, TilePane, VBox

    @DefaultProperty("children")
    public class Pane
    extends Region
    サブクラスのユーザーが子を自由に追加/削除できるようにパブリックとして子のリストを公開する必要があるレイアウト・ペインのベース・クラス。

    このクラスは、サイズ変更可能な子を優先サイズに合せてサイズ変更する以外のレイアウトは実行しないため、子の絶対配置が必要となる場合に直接使用できます。 ペインによるレイアウト中に子の位置は変更されないため、その配置はアプリケーションで行います。 例:

    
         Pane canvas = new Pane();
         canvas.setStyle("-fx-background-color: black;");
         canvas.setPrefSize(200,200);
         Circle circle = new Circle(50,Color.BLUE);
         circle.relocate(20, 20);
         Rectangle rectangle = new Rectangle(100,100,Color.RED);
         rectangle.relocate(70,70);
         canvas.getChildren().addAll(circle,rectangle);
     

    注意: 親内での子の位置合せ(中央揃え、左上配置など)を維持する必要があるアプリケーションでは、かわりにStackPaneを使用する必要があります。

    Paneでは、管理対象の各子をそれぞれの可視プロパティの値に関係なくサイズ変更します。管理対象外の子はすべてのレイアウト計算で無視されます。

    サイズ変更可能な範囲

    ペインの親は、レイアウト時に、ペインのサイズ変更可能範囲内でペインをサイズ変更します。 デフォルトでは、ペインは、以下の表に示すように、内容に基づいてこの範囲が計算されます:

    ペイン・サイズ変更表
    widthheight
    最小 左枠+右枠 上枠+下枠
    優先 現在のx位置で各子を取り囲むために必要な幅(優先幅) 現在のy位置で各子を取り囲むために必要な高さ(優先高)
    最大 Double.MAX_VALUEDouble.MAX_VALUE

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

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

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

    Paneはデフォルトではそのコンテンツをクリップしないため、子が負の座標に配置された場合や、ペインが優先サイズよりも小さくなるようにサイズ変更された場合は、子の境界がペイン自体の境界の外側まで拡大することがあります。

    導入されたバージョン:
    JavaFX 2.0
    • コンストラクタの詳細

      • Pane

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

        public Pane​(Node... children)
        Paneレイアウトを作成します。
        パラメータ:
        children - このペインの子の初期設定。
        導入されたバージョン:
        JavaFX 8.0
    • メソッドの詳細

      • getChildren

        public ObservableList<Node> getChildren()
        クラスからコピーされた説明: Parent
        このParentの子のリストを取得します。

        Parentの子リストの設定に関するシーングラフ構造の制限については、Nodeのクラスのドキュメントを参照してください。 子リストの変更がこれらの制限に違反した場合、変更は無視され、子リストは前の値に戻されます。 この場合、IllegalArgumentExceptionがスローされます。

        このParentノードが、表示されているWindow (Window.isShowing())にアタッチされたSceneにアタッチされている場合、その子リストはJavaFXアプリケーション・スレッドでのみ変更する必要があります。 この制限に違反すると、IllegalStateExceptionがスローされます。

        サブクラスに関する注意: このメソッドをオーバーライドする場合は、このスーパー・メソッドの呼出し結果を実装から返す必要があります。 すべてのgetChildren()実装から実際に返されるリスト・インスタンスは、このParentによって所有および管理されているリストと一致する必要があります。 一般的に、このメソッドをオーバーライドするのは、メソッドをpublicに昇格する場合のみです。

        オーバーライド:
        getChildren 、クラス: Parent
        戻り値:
        子の変更可能リスト。