BorderLayout
では、North、South、East、WestおよびCenterという領域にコンテナのコンポーネントを配置します。
NorthおよびSouthのコンポーネントは、高さは自由で、幅はコンテナの幅になります。
EastおよびWestのコンポーネントは、幅は自由で、高さはNorthとSouthの領域に挟まれた部分の高さになります。
Centerのコンポーネントは、残りの領域全体です。
BorderLayout
は、コンポーネントをコンテナの1つ以上の端に揃え、コンテナの中央部を1つのコンポーネントで埋める場合に適しています。これは、1つのコンポーネントでコンテナを埋める場合に適したレイアウトでもあります。
BorderLayout
は、UIの大型コンテナに最も役立つレイアウト・マネージャといえます。BorderLayout
の各領域内にパネルをネストし、これらの各パネルに様々なレイアウトの他のパネルを入れることで、非常に複雑なUI設計が可能になります。
コンポーネントは、constraints
プロパティに基づき、BorderLayout
内の5領域の1つに配置されます。コンポーネントのconstraints
プロパティは、インスペクタでNorth、South、East、WestまたはCenterのいずれかに設定できます。
たとえば、BorderLayout
コンテナの上部にツールバーを置くには、ボタンのFlowLayout
パネルを作成し、それをコンテナのNorth領域に配置します。このためには、パネルを選択し、インスペクタでその「constraints
」プロパティに「North」を指定します。
constraintsプロパティを設定するには、次のようにします。
constraints
」プロパティを選択し、その値フィールドをクリックします。
constraints
」プロパティのドロップダウン・リストで下矢印をクリックし、コンポーネントを配置する領域を選択します。
JDeveloperのJavaビジュアル・エディタを使用して既存コンテナのレイアウトをBorderLayout
に変更すると、枠に近いコンポーネントは、自動的に最も近い枠を埋めるように移動します。中央に近いコンポーネントは、「Center」に設定されます。 コンポーネントが意図しない場所に移動した場合、インスペクタでconstraints
プロパティを訂正するか、Javaビジュアル・エディタで新しい場所にコンポーネントをドラッグします。
5つの領域のそれぞれには、任意の数のコンポーネント(またはコンポーネントのパネル)を置くことができますが、最も上のコンポーネントが不透明であれば、同じ領域内の下のコンポーネントはすべてその下に隠れてしまいます。
複数のコンポーネントおよびBorderLayout
を扱う場合は、次の一般的ガイドラインに従ってください。
XYLayout
で各コンポーネントを目的のおおよその位置に移動し、それぞれの枠の近くにはコンポーネントが1つのみという状態にします。
注意: BorderLayout
では、コンポーネントをコンテナに追加した順序は無視されます。
デフォルトでは、BorderLayout
で管理されるコンポーネントの間に間隔がありません。ただし、インスペクタを使用して、コンテナに関連付けられているBorderLayout
に、ピクセル単位で水平または垂直の間隔を指定できます。
BorderLayout
コンポーネントの周りの間隔を変更するには、構造ウィンドウでBorderLayout
オブジェクト(制御するコンテナの直下に表示される)を選択し、プロパティ・インスペクタでhgap
およびvgap
プロパティのピクセル値を変更します。
Copyright © 1997, 2004, Oracle Corporation. All rights reserved.