Visual Editor は、Swing BorderLayout を操作するのに役立つ視覚的合図を提供しています。
このタスクについて
BorderLayout マネージャーは、指定方向に定義された領域にコンポーネントをレイアウトします。
java.awt.BorderLayout クラスは LayoutManager2 を実装し、その制約は「上」、「下」、「中央」、「右」、「左」という値のストリングです。
注: 6 つ以上のコンポーネントを持つコンテナーを BorderLayout に切り替えた場合、最初の 5 つのコンポーネントだけが制約付きで BorderLayout に追加されます。残りのコンポーネントは、コンテナーから「設計」ビューのフリー・フォーム・エリアに移動されます。
BorderLayout は、推奨される幅または高さで端に沿って compass 制約の 1 つに各コンポーネントを置き、「中央」コンポーネントは、その他のスペースすべてを占有します。
手順
- コンポーネントを BorderLayout を使用するコンテナーに追加する方法は、以下のとおりです。
- パレットから BorderLayout に追加したい Swing コンポーネントを選択します。
- マウス・カーソルを「設計」ビューの上に移動します。
- BorderLayout には、「上」、「下」、「中央」、「右」、「左」の 5 つの制約を表す 5 つの長方形の領域が表示されます。
- 領域が空の場合、領域は強調表示され、カーソルは正符号になり、コンポーネントをドロップできることが示されます。

- 領域がコンポーネントによって既に占有されている場合、カーソルは内部に線が引かれた円になり、コンポーネントをその領域にドロップできないことが示されます。


- 有効な領域の「設計」ビューをクリックして、コンポーネントを BorderLayout に追加します。
- コンポーネントを BorderLayout 内で移動する方法は、以下のとおりです。
- 「設計」ビューで、BorderLayout 内の別の領域に移動する BorderLayout のコンポーネントを選択します。
- コンポーネントを別の領域にドラッグしてマウス・ボタンを放します。 コンポーネントが新しい領域に移動します。領域が別のコンポーネントによって占有されている場合は、コンポーネントの位置が入れ替わります。
- BorderLayout 内のコンポーネントの余白を調整するには、BorderLayout で以下のプロパティーを設定します。
- 水平方向の間隔 - 中央コンポーネントと、右および左コンポーネントの間の距離をピクセル単位で設定します。
- 垂直方向の間隔 - 中央コンポーネントと、上および下コンポーネントの間の距離をピクセル単位で設定します。
タスクの結果
制約値は、コンポーネントをそれぞれの親コンテナーに追加する add(Component,Object) メソッドの 2 番目の引数として使用されます。
例えば、JPanel を初期化するコードは、以下のようになります。
private void initialize() {
this.setLayout(new java.awt.BorderLayout());
this.add(getJLabel(), java.awt.BorderLayout.NORTH);
this.add(getJScrollBar(), java.awt.BorderLayout.WEST);
this.add(getJButton(), java.awt.BorderLayout.EAST);
this.setSize(193, 124);
}
注: 2 つの追加定数 (「行の先頭の前」、「行の末尾の後」) が、コンテナーの ComponentOrientation を基にした相対的位置付けをサポートするために使用されます。例えば、ComponenetOrientation が
ComponentOrientation.LEFT_TO_RIGHT のコンテナー内では、
「行の先頭の前」は「左」にマップされ、「行の末尾の後」は「右」にマップされます。
2 タイプの定数を混合することはお勧めできません。相対定数が優先されるため、グラフ・ビューアーおよびランタイムに誤った結果が表示されます。