PaneLayoutについて

PaneLayoutを使用すると、コンポーネントのサイズを兄弟コンポーネントとの相対で指定できます。パネルまたはフレームにPaneLayoutを適用すると、コンポーネントがコンテナに占める割合を相互の相対パーセントで制御できますが、ペイン間に移動可能なスプリッタ・バーは作成されません。

パネル分割のイメージ

PaneLayoutでは、各コンポーネントの配置とサイズをコンテナに追加済のコンポーネントとの相対で指定します。各コンポーネントでは、PaneConstraintsオブジェクトを指定します。このオブジェクトは、コンポーネントがスペースを使用しているレイアウト・マネージャと、既存のスペースの使用量を指定します。各コンポーネントの PaneConstraintsオブジェクトは、コンポーネントをコンテナに追加する時点で存在していたコンテナに適用されます。コンポーネントをコンテナに追加する順序が重要になります。

PaneConstraint変数

コンテナに追加するPaneConstraintsコンポーネントに対する制約は、次の4つの変数で構成されます。

String name

このコンポーネントの名前(CardLayoutの場合と同様に、コンテナ内の全コンポーネントに対して一意であることが必須)
 
String splitComponentName

このコンポーネント用の余地を確保するためにスペースが使用されるコンポーネントの名前
 
String position

このコンポーネントが配置指定されるsplitComponentNameの端

有効な値は、次のとおりです。

オプション 操作

PaneConstraints.TOP

このコンポーネントはsplitComponentNameの上に配置されます。

PaneConstraints.BOTTOM

このコンポーネントはsplitComponentNameの下に配置されます。

PaneConstraints.RIGHT

このコンポーネントはsplitComponentNameの右側に配置されます。

PaneConstraints.LEFT

このコンポーネントはsplitComponentNameの左側に配置されます。

PaneConstraints.ROOT

このコンポーネントは最初に追加されたコンポーネントです。

 
float proportion

splitComponentNameのうち、このコンポーネントに割り当てられる割合(0から1の数値)

PaneLayoutへのコンポーネントの追加方法

Javaビジュアル・エディタでのPaneLayoutコンテナの作成

  1. Javaビジュアル・エディタでUIにコンテナを追加します。どのようなフレームやパネルでもかまいません。

    空のフレーム

  2. コンテナのlayoutプロパティをPaneLayoutに変更します。これにより、インスペクタでPaneLayoutプロパティにアクセスできます。
  3. コンポーネント・パレットで、第1コンポーネントを選択してPaneLayoutコンテナにドロップします。このコンポーネントは、別のコンポーネントを追加するまでコンテナ内で完全に最大化されます。

    PaneLayoutコンテナのイメージ

  4. 第2コンポーネントを選択し、必要な位置で必要なサイズになるようにドラッグします。

    PaneLayoutコンテナのイメージ

    重要: PaneLayoutコンテナに追加した第1コンポーネント自体がコンテナだった場合、Javaビジュアル・エディタでは第2コンポーネントをPaneLayoutコンテナではなく外側のコンテナに追加しようとしているものとみなされます。コンポーネント・ツリーを使用して、コンポーネントの配置先コンテナを指定してください。

  5. 第3コンポーネントをPaneLayoutに追加するには、同様の手順で描画して、他のコンポーネントとの相対位置を定義します。

    たとえば、コンテナの右半分を分割するには、パネルの右端中央から第1コンポーネントの右下隅へと第3コンポーネントを描画します。

    PaneLayoutの制約のイメージ

  6. 同じ方法で以降のコンポーネントを追加します。