| クラス | 説明 |
|---|---|
| AnchorPane |
AnchorPaneは、子ノードの枠をアンカー・ペインの枠からのオフセット位置までアンカーします。
|
| Background |
RegionのBackground。 |
| BackgroundFill |
Regionの背景を塗りつぶす方法を指示する、塗りつぶしおよび関連するプロパティ。 |
| BackgroundImage |
ある
Regionに背景としてイメージをレンダリングする方法を記述するプロパティを定義します。 |
| BackgroundPosition |
Regionの描画領域内のBackgroundImageの位置を表します。 |
| BackgroundSize |
BackgroundImageによってスタイル設定されるリージョンに対して相対的に、塗りつぶす必要がある領域のサイズを定義します。
|
| Border |
Regionのボーダー。 |
| BorderImage |
あるリージョンのボーダーとしてイメージをレンダリングする方法を記述するプロパティを定義します。
|
| BorderPane |
BorderPaneは、上、左、右、下、中央の各位置に子をレイアウトします。
|
| BorderStroke |
リージョンをスタイル設定するためにボーダーで使用するストロークを定義します。
|
| BorderStrokeStyle |
BorderStrokeの1つの辺で使用するストロークのスタイルを定義します。
|
| BorderWidths |
4つの成分(上、右、下および左)の幅を定義します。
|
| ColumnConstraints |
GridPane内の列にオプションのレイアウト制約を定義します。 |
| ConstraintsBase |
ノード固有のレイアウト制約を定義するためのベース・クラス。
|
| CornerRadii |
BorderStrokeの4隅それぞれの半径を定義します。
|
| CornerRadiiConverter |
<size>{1,4} [ '/' <size>{1,4}]? [',' <size>{1,4} [ '/' <size>{1,4}]?]?の解析済値をCornerRadiiに変換します。
|
| FlowPane |
FlowPaneは、フローペインの境界で折り返されるフローに子をレイアウトします。
|
| GridPane |
GridPaneは、行と列の柔軟なグリッド内に子をレイアウトします。
|
| HBox |
HBoxは、単一の水平行に子をレイアウトします。
|
| Pane |
サブクラスのユーザーが子を自由に追加/削除できるようにパブリックとして子のリストを公開する必要があるレイアウト・ペインのベース・クラス。
|
| Region |
Regionは、すべてのJavaFXノードベースUIコントロールおよびすべてのレイアウト・コンテナのベース・クラスです。
|
| RowConstraints |
GridPane内の行にオプションのレイアウト制約を定義します。 |
| StackPane |
StackPaneは、下から上へのスタックに子をレイアウトします。
|
| TilePane |
TilePaneは、均一サイズのタイルのグリッドに子をレイアウトします。
|
| VBox |
VBoxは、単一の垂直列に子をレイアウトします。
|
| 列挙型 | 説明 |
|---|---|
| BackgroundRepeat |
背景のイメージを繰り返すオプションの列挙
|
| BorderRepeat |
ボーダー・イメージの繰返しルールを指定する列挙型。
|
| Priority |
特定ノードのレイアウト領域の拡大(または縮小)優先度を決定するために使用される列挙。そのリージョンに使用可能なスペースの量が増減し、そのスペースに対して複数のノードが競合している場合に使用されます。
|
ユーザー・インタフェース・レイアウトをサポートするクラスを提供します。 各レイアウト・ペイン・クラスはその子に対してそれぞれ異なるレイアウト手法をサポートしており、アプリケーションでは、これらのレイアウト・ペインをネストして、ユーザー・インタフェースに必要なレイアウト構造を実現できます。 レイアウト・ペインのいずれかにノードが追加されると、そのノードのレイアウトはそのペインによって自動的に管理されるようになるため、アプリケーションでノードを直接配置したり、サイズ変更しないようにしてください。詳細は、「ノードのサイズ変更可能性」を参照してください。
アプリケーションでSceneが作成および表示されると、シーングラフ・レイアウト・メカニズムが自動的に駆動されます。 シーングラフは、レイアウトに影響を及ぼす動的なノード変更(サイズやコンテンツの変更など)を検出し、requestLayout()を呼び出してそのブランチをレイアウトが必要であるとしてマークします。これにより、次のパルスでそのブランチのルートでlayout()が起動され、そのブランチに対して上から下へのレイアウト・パスが実行されるようになります。 このレイアウト・パス中に、各親でlayoutChildren()コールバック・メソッドが呼び出され、その子がレイアウトされます。 このメカニズムは、小さい変更が発生するたびに再レイアウトを実行するのではなく、複数のレイアウト・リクエストを単一のパスにまとめて処理するようにすることで、レイアウト効率を最大化するように設計されています。 したがって、アプリケーションでノードに対してレイアウトを直接起動しないようにしてください。
シーングラフは、サイズ変更可能なノード・クラスとサイズ変更不可能なノード・クラスの両方をサポートしています。 Nodeに対してisResizable()メソッドを実行すると、特定ノードをサイズ変更できるかどうかが返されます。 サイズ変更可能なノード・クラスは、許容可能なサイズの範囲(最小<= 優先<="maximum")をサポートし、親のレイアウト・ポリシーおよび兄弟ノードのニーズに応じて、その範囲内で親がサイズ変更できるようにします。ノードは、ノードのサイズ変更可能な範囲を決定するコードに対して次のメソッドをサポートします。
public Orientation getContentBias()
public double minWidth(double height)
public double minHeight(double width)
public double prefWidth(double height)
public double prefHeight(double width)
public double maxWidth(double height)
public double maxHeight(double width)
一方、サイズ変更不可能なノード・クラスには、一貫したサイズ変更APIはありません。このため、親によってレイアウト中にサイズ変更されることはありません。 サイズ変更不可能なノードのサイズは、各インスタンスの該当するプロパティを設定することによって、アプリケーションで決定する必要があります。 これらのクラスは最小値、優先値および最大値として現在のレイアウト境界を返し、resize()メソッドは操作なしになります。
サイズ変更可能なクラス: Region、Control、WebView
サイズ変更不可能なクラス: Group、Shape、Text
たとえば、Buttonコントロール(サイズ変更可能)では、その最小サイズ、優先サイズおよび最大サイズを計算し、その親はレイアウト中にそれらのサイズを使用してコントロールをサイズ変更します。このため、アプリケーションでは、コンテンツとプロパティを構成することのみが必要です。
Button button = new Button("Apply");
一方、Circle (サイズ変更不可能)は親によってサイズ変更できないため、アプリケーションで適切な幾何学的プロパティを設定してサイズを決定する必要があります。
Circle circle = new Circle();
circle.setRadius(50);
たとえば、ListViewの優先サイズをオーバーライドするには、次のようにします。
listview.setPrefSize(200,300);
また、ボタンの最大幅を変更して、スペース全体に表示されるように幅を広げるには、次のようにします。
button.setMaxWidth(Double.MAX_VALUE);
逆のケースとして、アプリケーションでノードの最小サイズまたは最大サイズを優先サイズに固定する必要がある場合は、次のようにします。
listview.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
最後に、アプリケーションで固有の計算値に戻す必要がある場合は、次のようにします。
listview.setPrefSize(Region.USE_COMPUTED_SIZE, Region.USE_COMPUTED_SIZE);
Nodeには、レイアウト用にノードの論理境界を定義するlayoutBoundsプロパティ以外に、すべての効果、クリッピングおよび変形が適用された後に視覚境界を定義するboundsInParentが用意されています。
多くの場合、これらの2つの境界プロパティはノードによって異なり、layoutBoundsの計算方法もノード・クラスによって異なります。
| ノード・タイプ | レイアウト境界 |
|---|---|
Shape、ImageView |
幾何学的境界(ジオメトリとストローク)を含みます。 効果、クリップまたは変形を含みません。 |
Text |
フォントの高さおよびコンテンツの幅(空白文字を含む)に基づく論理境界です。boundsTypeを設定することによって、文字グリフの周囲に近接した境界を作成するように構成できます。 効果、クリップまたは変形を含みません。
|
Region、Control、WebView |
視覚境界に関係なく、常に[0,0 width x height]になります。レイアウト境界よりも大きくなる場合も小さくなる場合もあります。
|
Group |
可視のすべての子の視覚境界(boundsInParent)で構成される集合です。グループに直接設定された効果、クリップおよび変形は含められませんが、個別の子に設定された効果、クリップまたは変形は含められます。これらは子のboundsInParentに含まれているためです。
|
したがって、たとえば、DropShadowを図形に追加した場合、そのシャドウはデフォルトではレイアウトに組み込まれません。 また、ScaleTransitionを使用してボタンのサイズをパルスした場合、そのパルス・アニメーションがボタンの周囲のレイアウトに影響を及ぼすことはありません。 効果、クリップまたは変形をノードのレイアウトに組み込む必要があるアプリケーションでは、そのノードをグループにラップする必要があります。
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.