BorderLayout
は、上、下、右、左および中央の領域にコンテナのコンポーネントを配置します。
上および下のコンポーネントには高さの推奨値が指定され、コンテナの幅全体にわたって拡張されます。
右および左のコンポーネントには幅の推奨値が指定され、上および下の領域に挟まれた領域を埋めるよう垂直に拡張されます。
中央のコンポーネントは、残りのすべての領域を埋めるよう拡張されます。
BorderLayout
は、コンテナの1つ以上の境界線にコンポーネントを適用し、コンテナの中央を1つのコンポーネントで埋める場合に効果的です。また、単一コンポーネントでコンテナを完全に埋めるために使用するレイアウトでもあります。
BorderLayout
は、UI内の大き目のコンテナに最も有用なレイアウト・マネージャであることがわかります。BorderLayout
の各領域内にパネルをネストしてから、これらの各パネルに各種レイアウトのその他のパネルを移入することで、非常に複雑なUI設計を実現できます。
コンポーネントは、constraints
プロパティに基づき、BorderLayout
内の5つの領域のいずれかに配置されます。インスペクタにおいて、コンポーネントのconstraints
プロパティを、「上」、「下」、「右」、「左」または「中央」のいずれかの値に設定できます。
たとえば、BorderLayout
コンテナの最上部全体にツールバーを配置するには、ボタンのFlowLayout
パネルを作成し、これをコンテナの「上」領域に配置します。このためには、パネルを選択し、インスペクタでconstraints
プロパティに対し「上」を選択します。
constraintsプロパティを設定する手順は、次のとおりです。
constraints
プロパティを選択し、その値フィールドをクリックします。
constraints
プロパティ・ドロップダウン・リストの下矢印をクリックし、コンポーネントを挿入する領域を選択します。
JDeveloperのJavaビジュアル・エディタを使用して、既存のコンテナのレイアウトをBorderLayout
に変更した場合、境界線近くのコンポーネントは最も近い境界線に接するよう自動的に移動します。中央に近いコンポーネントは「中央」に設定される場合があります。コンポーネントが意図しない場所に移動する場合、インスペクタでconstraints
プロパティを訂正するか、Javaビジュアル・エディタで新しい場所にコンポーネントをドラッグできます。
5つの各領域には任意の数のコンポーネント(またはコンポーネントのパネル)を含めることができますが、最上位のコンポーネントが不透明でない場合を除いて、同じ領域内にある下位コンポーネントはすべて最上位のコンポーネントによって覆われます。
複数のコンポーネントおよびBorderLayout
の使用に関する一般的なガイドラインを次に示します。
XYLayout
を使用し、コンポーネントを目的の場所付近に移動して、各境界線近くにはコンポーネントが1つのみとなるようにします。
注意:BorderLayout
では、コンポーネントをコンテナに追加する順序は無視されます。
デフォルトにより、BorderLayout
が管理するコンポーネント間にギャップは挿入されません。ただし、インスペクタを使用して、コンテナに関連付けられたBorderLayout
に対し、水平または垂直のギャップをピクセル単位で指定できます。
BorderLayout
コンポーネントの周囲のギャップを変更するには、構造ウィンドウで、(BorderLayoutが管理するコンテナの真下に表示される)BorderLayout
オブジェクトを選択してから、プロパティ・インスペクタで、hgap
およびvgap
プロパティのピクセル値を変更します。
Copyright © 1997, 2006, Oracle. All rights reserved.