クラス | 説明 |
---|---|
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()
メソッドを実行すると、特定ノードをサイズ変更できるかどうかが返されます。サイズ変更可能なノード・クラスは許容サイズ範囲(最小 <= 優先 <= 最大)をサポートします。その親は、レイアウト時に、親自体のレイアウト・ポリシーおよび兄弟ノードのレイアウト・ニーズを考慮して、この範囲内でノードをサイズ変更できます。ノードは、レイアウト・コードでノードのサイズ変更可能範囲を決定するために、次のメソッドをサポートしています。
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.