詳細アイコン BorderLayoutと制約

Java UIコンテナでは、レイアウト・マネージャという特殊なオブジェクトを使用して、コンテナが表示されるたびに、そのコンテナ内のコンポーネントの位置とサイズが制御されます。レイアウト・マネージャでは、そのレイアウト・マネージャ固有の特定のルール・セットに従ってコンテナ内のコンポーネントが自動的に配置されます。レイアウト・マネージャを使用すると、プラットフォーム間で移植可能な方法で、UIのレイアウトに関するルールと制約を指定できます。

最初は、クライアント・フォームの「dataPanel」コンテナには、「dataPanel」を開いたForm.javaの「構造」ウィンドウに「<null>」と表示されているように、レイアウト・マネージャは含まれていません。

「構造」ウィンドウ、panelOrdersViewHelper

レイアウト・マネージャを使用するには、「dataPanel」のプロパティ・インスペクタで「ビジュアル」セクションを開き、「layout」属性を「BorderLayout」に変更します。

プロパティ・インスペクタ、dataPanel、レイアウト

BorderLayoutレイアウト・マネージャでは、コンポーネントのconstraintsプロパティに基づいて、BorderLayout内の5つの領域のいずれかにコンテナのコンポーネントが配置されます。プロパティ・インスペクタでは、コンポーネントのconstraintsプロパティを次に示す5つの値のいずれかに設定できます。

BorderLayoutのconstraintsプロパティの値

たとえば、「dataPanel」constraintsプロパティは、プロパティ・インスペクタに表示されているように、「中央」です。

プロパティ・インスペクタ、constraints

制約プロパティ・ビジュアル・エディタを使用すると、適切なボックスを選択して、コンポーネントのconstraintsプロパティの値を変更することもできます。

制約プロパティ・エディタのdataPanel

「dataPanel」のレイアウト・マネージャとしてBorderLayoutを設定した後は、コンテナのコンポーネント「panelOrdersView1Helper1」(以前に追加した編集フォーム・パネル)のconstraintsプロパティの値を変更できる状態になります。

マスター編集フォームは、列(ラベルとテキスト・フィールド)と行(属性の数)の数が固定であるため、サイズは大きくなりません。次のステップでは、構造ウィンドウで「panelOrdersView1Helper1」を選択した後、制約プロパティ・ビジュアル・エディタを使用して、「panelOrdersView1Helper1」constraintsプロパティの値を「上」に変更します。この結果、編集フォームは常に、コンテナの幅全体にわたって拡張されます。

構造ウィンドウ 制約プロパティ・エディタの編集フォーム・パネル

注意: constraintsプロパティのビジュアル・エディタは、デフォルトで「プロパティ・インスペクタ」の隣にあります。constraintsプロパティのビジュアル・エディタがまだ開いていない場合は、「表示」次の選択「制約」を選択します。