- すべての実装されたインタフェース:
LayoutManager
,LayoutManager2
,Serializable
NORTH
(上端)、SOUTH
(下端)、EAST
(右端)、WEST
(左端)、CENTER
(中央)によって識別されます。 ボーダー・レイアウトを使ってコンテナにコンポーネントを追加するときは、次の例のように、5つの定数のいずれかを使用します。
Panel p = new Panel(); p.setLayout(new BorderLayout()); p.add(new Button("Okay"), BorderLayout.SOUTH);次に示すように、文字列の指定がない場合には、
BorderLayout
は定数CENTER
が指定されたと解釈します。
Panel p2 = new Panel(); p2.setLayout(new BorderLayout()); p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);
また、BorderLayout
は、PAGE_START
、PAGE_END
、LINE_START
、およびLINE_END
という相対位置指定定数をサポートします。 ComponentOrientation
がComponentOrientation.LEFT_TO_RIGHT
に設定されているコンテナでは、これらの定数はそれぞれNORTH
、SOUTH
、WEST
、EAST
にマッピングされます。
以前のリリースとの互換性を保つため、BorderLayout
にはBEFORE_FIRST_LINE
、AFTER_LAST_LINE
、BEFORE_LINE_BEGINS
、およびAFTER_LINE_ENDS
という相対位置指定定数も用意されています。 これらはそれぞれPAGE_START
、PAGE_END
、LINE_START
、およびLINE_END
と同じ意味を持ちます。 ほかのコンポーネントの相対位置指定定数との互換性の面から、できるだけあとの4つを使用します。
絶対位置指定定数と相対位置指定定数を同時に使用すると、予期せぬ結果が生じることがあります。 両方の種類の定数を使用した場合は、相対位置指定定数が優先されます。 たとえば、向きがLEFT_TO_RIGHT
のコンテナにNORTH
とPAGE_START
の両方の定数を使用してコンポーネントを追加すると、PAGE_START
のみがレイアウトされます。
NOTE: 現在、BorderLayout
は垂直方向をサポートしていません。 コンテナのComponentOrientation
のisVertical
の設定値は無視されます。
コンポーネントはそれらの推奨サイズやコンテナ・サイズの制約を満たすように配置されます。 NORTH
コンポーネントおよびSOUTH
コンポーネントは水平方向に引き伸ばされます。EAST
コンポーネントおよびWEST
コンポーネントは垂直方向に引き伸ばされます。CENTER
コンポーネントは、スペースを残さないように、水平および垂直の両方向に引き伸ばされます。
次の例では、BorderLayout
レイアウト・マネージャを使ってアプレット内に5つのボタンが配置されます。
このアプレットのコードは次のとおりです。
import java.awt.*; import java.applet.Applet; public class buttonDir extends Applet { public void init() { setLayout(new BorderLayout()); add(new Button("North"), BorderLayout.NORTH); add(new Button("South"), BorderLayout.SOUTH); add(new Button("East"), BorderLayout.EAST); add(new Button("West"), BorderLayout.WEST); add(new Button("Center"), BorderLayout.CENTER); } }
- 導入されたバージョン:
- 1.0
- 関連項目:
Container.add(String, Component)
,ComponentOrientation
, 直列化された形式
-
フィールドのサマリー
修飾子と型フィールド説明static String
PAGE_ENDと同じ意味を持ちます。static String
LINE_ENDと同じ意味を持ちます。static String
PAGE_STARTと同じ意味を持ちます。static String
LINE_STARTと同じ意味を持ちます。static String
centerのレイアウト制約(コンテナの中央)です。static String
eastのレイアウト制約(コンテナの右端)です。static String
コンポーネントはレイアウトの行方向の最後に配置されます。static String
コンポーネントはレイアウトの行方向の先頭に配置されます。static String
northのレイアウト制約(コンテナの上端)です。static String
コンポーネントはレイアウトの内容の最終行のあとに配置されます。static String
コンポーネントはレイアウトの内容の先頭行の前に配置されます。static String
southのレイアウト制約(コンテナの下端)です。static String
westのレイアウト制約(コンテナの左端)です。 -
コンストラクタのサマリー
コンストラクタ説明コンポーネント間に間隔を設けずに、新しいボーダー・レイアウトを構築します。BorderLayout(int hgap, int vgap)
コンポーネント間に間隔を指定して、新しいボーダー・レイアウトを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明void
addLayoutComponent(Component comp, Object constraints)
指定された制約オブジェクトを使って、指定されたコンポーネントをレイアウトに追加します。void
addLayoutComponent(String name, Component comp)
非推奨。getConstraints(Component comp)
指定されたコンポーネントの制約を取得します。int
getHgap()
コンポーネント間の水平方向の間隔を返します。float
getLayoutAlignmentX(Container parent)
x軸方向の配置を返します。float
getLayoutAlignmentY(Container parent)
y軸方向の配置を返します。getLayoutComponent(Container target, Object constraints)
ターゲットContainer
のコンポーネント方向に基づいて、指定された制約の場所に対応するコンポーネントを返します。getLayoutComponent(Object constraints)
指定された制約で追加されたコンポーネントを取得します。int
getVgap()
コンポーネント間の垂直方向の間隔を返します。void
invalidateLayout(Container target)
レイアウトを無効にします。このとき、レイアウト・マネージャが情報をキャッシュしていればそれを破棄します。void
layoutContainer(Container target)
このボーダー・レイアウトを使用してコンテナ引数を配置します。maximumLayoutSize(Container target)
指定されたターゲット・コンテナにコンポーネントが与えられた場合の、レイアウトの最大サイズを返します。minimumLayoutSize(Container target)
このレイアウト・マネージャを使用するtarget
コンテナの最小サイズを判定します。preferredLayoutSize(Container target)
コンテナ内のコンポーネントに基づいて、このレイアウト・マネージャを使用するtarget
コンテナの推奨サイズを判定します。void
removeLayoutComponent(Component comp)
このボーダー・レイアウトから、指定されたコンポーネントを削除します。void
setHgap(int hgap)
コンポーネント間の水平方向の間隔を設定します。void
setVgap(int vgap)
コンポーネント間の垂直方向の間隔を設定します。toString()
このボーダー・レイアウトの状態を示す文字列表現を返します。
-
フィールド詳細
-
NORTH
public static final String NORTHnorthのレイアウト制約(コンテナの上端)です。- 関連項目:
- 定数フィールド値
-
SOUTH
public static final String SOUTHsouthのレイアウト制約(コンテナの下端)です。- 関連項目:
- 定数フィールド値
-
EAST
public static final String EASTeastのレイアウト制約(コンテナの右端)です。- 関連項目:
- 定数フィールド値
-
WEST
public static final String WESTwestのレイアウト制約(コンテナの左端)です。- 関連項目:
- 定数フィールド値
-
CENTER
public static final String CENTERcenterのレイアウト制約(コンテナの中央)です。- 関連項目:
- 定数フィールド値
-
BEFORE_FIRST_LINE
public static final String BEFORE_FIRST_LINEPAGE_STARTと同じ意味を持ちます。 以前のバージョンとの互換性のために残されています。 できるだけPAGE_STARTを使用します。- 導入されたバージョン:
- 1.2
- 関連項目:
PAGE_START
, 定数フィールド値
-
AFTER_LAST_LINE
public static final String AFTER_LAST_LINEPAGE_ENDと同じ意味を持ちます。 以前のバージョンとの互換性のために残されています。 できるだけPAGE_ENDを使用します。 -
BEFORE_LINE_BEGINS
public static final String BEFORE_LINE_BEGINSLINE_STARTと同じ意味を持ちます。 以前のバージョンとの互換性のために残されています。 できるだけLINE_STARTを使用します。- 導入されたバージョン:
- 1.2
- 関連項目:
LINE_START
, 定数フィールド値
-
AFTER_LINE_ENDS
public static final String AFTER_LINE_ENDSLINE_ENDと同じ意味を持ちます。 以前のバージョンとの互換性のために残されています。 できるだけLINE_ENDを使用します。 -
PAGE_START
public static final String PAGE_STARTコンポーネントはレイアウトの内容の先頭行の前に配置されます。 WESTから見て左から右、上から下に配置が行われる場合、これはNORTHと同じになります。- 導入されたバージョン:
- 1.4
- 関連項目:
Component.getComponentOrientation()
, 定数フィールド値
-
PAGE_END
public static final String PAGE_ENDコンポーネントはレイアウトの内容の最終行のあとに配置されます。 WESTから見て左から右、上から下に配置が行われる場合、これはSOUTHと同じになります。- 導入されたバージョン:
- 1.4
- 関連項目:
Component.getComponentOrientation()
, 定数フィールド値
-
LINE_START
public static final String LINE_STARTコンポーネントはレイアウトの行方向の先頭に配置されます。 WESTから見て左から右、上から下に配置が行われる場合、これはWESTと同じになります。- 導入されたバージョン:
- 1.4
- 関連項目:
Component.getComponentOrientation()
, 定数フィールド値
-
LINE_END
public static final String LINE_ENDコンポーネントはレイアウトの行方向の最後に配置されます。 WESTから見て左から右、上から下に配置が行われる場合、これはEASTと同じになります。- 導入されたバージョン:
- 1.4
- 関連項目:
Component.getComponentOrientation()
, 定数フィールド値
-
-
コンストラクタの詳細
-
BorderLayout
public BorderLayout()コンポーネント間に間隔を設けずに、新しいボーダー・レイアウトを構築します。 -
BorderLayout
public BorderLayout(int hgap, int vgap)コンポーネント間に間隔を指定して、新しいボーダー・レイアウトを構築します。 水平方向の間隔はhgap
によって指定され、垂直方向の間隔はvgap
によって指定されます。- パラメータ:
hgap
- 水平方向の間隔。vgap
- 垂直方向の間隔。
-
-
メソッドの詳細
-
getHgap
public int getHgap()コンポーネント間の水平方向の間隔を返します。- 戻り値:
- コンポーネント間の水平方向の間隔
- 導入されたバージョン:
- 1.1
-
setHgap
public void setHgap(int hgap)コンポーネント間の水平方向の間隔を設定します。- パラメータ:
hgap
- コンポーネント間の水平方向の間隔- 導入されたバージョン:
- 1.1
-
getVgap
public int getVgap()コンポーネント間の垂直方向の間隔を返します。- 戻り値:
- コンポーネント間の垂直方向の間隔
- 導入されたバージョン:
- 1.1
-
setVgap
public void setVgap(int vgap)コンポーネント間の垂直方向の間隔を設定します。- パラメータ:
vgap
- コンポーネント間の垂直方向の間隔- 導入されたバージョン:
- 1.1
-
addLayoutComponent
指定された制約オブジェクトを使って、指定されたコンポーネントをレイアウトに追加します。 ボーダー・レイアウトでは、制約は、定数NORTH
、SOUTH
、EAST
、WEST
、CENTER
のいずれかである必要があります。ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、同じ引数の型で
Container.add
メソッドを使ってコンポーネントがコンテナに追加されたときに呼び出されます。- 定義:
addLayoutComponent
、インタフェース:LayoutManager2
- パラメータ:
comp
- 追加されるコンポーネント。constraints
- コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクト- 例外:
IllegalArgumentException
- 制約オブジェクトが文字列でない場合、または指定された5つの定数のどれでもない場合- 導入されたバージョン:
- 1.1
- 関連項目:
Container.add(java.awt.Component, java.lang.Object)
-
addLayoutComponent
@Deprecatedpublic void addLayoutComponent(String name, Component comp)非推奨。addLayoutComponent(Component, Object)
に置き換えられています。インタフェースからコピーされた説明:LayoutManager
レイアウト・マネージャがコンポーネントごとの文字列を使用する場合は、レイアウトにコンポーネントcomp
を追加し、それをname
によって指定された文字列に関連付けます。- 定義:
addLayoutComponent
、インタフェース:LayoutManager
- パラメータ:
name
- コンポーネントに関連付けられる文字列comp
- 追加されるコンポーネント
-
removeLayoutComponent
public void removeLayoutComponent(Component comp)このボーダー・レイアウトから、指定されたコンポーネントを削除します。 このメソッドは、コンテナがremove
メソッドまたはremoveAll
メソッドを呼び出したときに呼び出されます。 ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。- 定義:
removeLayoutComponent
、インタフェース:LayoutManager
- パラメータ:
comp
- 削除されるコンポーネント。- 関連項目:
Container.remove(java.awt.Component)
,Container.removeAll()
-
getLayoutComponent
指定された制約で追加されたコンポーネントを取得します。- パラメータ:
constraints
- 目的の制約。CENTER
、NORTH
、SOUTH
、WEST
、EAST
、PAGE_START
、PAGE_END
、LINE_START
、LINE_END
のいずれか- 戻り値:
- 特定の位置にあるコンポーネント、またはその位置が空である場合は
null
- 例外:
IllegalArgumentException
- 制約オブジェクトが指定された9つの定数のどれでもない場合- 導入されたバージョン:
- 1.5
- 関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)
-
getLayoutComponent
ターゲットContainer
のコンポーネント方向に基づいて、指定された制約の場所に対応するコンポーネントを返します。 相対的な制約PAGE_START
、PAGE_END
、LINE_START
、およびLINE_END
を指定して追加されたコンポーネントは、明示的な制約NORTH
、SOUTH
、WEST
、およびEAST
を指定して追加されたコンポーネントよりも優先されます。Container
のコンポーネント方向は、LINE_START
とLINE_END
を指定して追加されたコンポーネントの場所を判定するために使用されます。- パラメータ:
constraints
- 目的の絶対位置。CENTER
、NORTH
、SOUTH
、EAST
、WEST
のいずれかtarget
- 制約の場所を取得するために使用するContainer
。制約の場所は、Container
のコンポーネント方向に基づいて判定される- 戻り値:
- 特定の位置にあるコンポーネント、またはその位置が空である場合は
null
- 例外:
IllegalArgumentException
- 制約オブジェクトが指定された5つの定数のどれでもない場合NullPointerException
- targetパラメータがnullの場合- 導入されたバージョン:
- 1.5
- 関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)
-
getConstraints
指定されたコンポーネントの制約を取得します。- パラメータ:
comp
- 照会されるコンポーネント- 戻り値:
- 指定されたコンポーネントの制約。コンポーネントがnullか、このレイアウトに存在しない場合はnull
- 導入されたバージョン:
- 1.5
- 関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)
-
minimumLayoutSize
このレイアウト・マネージャを使用するtarget
コンテナの最小サイズを判定します。このメソッドは、コンテナがその
getMinimumSize
メソッドを呼び出したときに呼び出されます。 ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。- 定義:
minimumLayoutSize
、インタフェース:LayoutManager
- パラメータ:
target
- レイアウトが行われるコンテナ。- 戻り値:
- 指定されたコンテナのサブコンポーネントを配置するために必要な最小の寸法。
- 関連項目:
Container
,preferredLayoutSize(java.awt.Container)
,Container.getMinimumSize()
-
preferredLayoutSize
コンテナ内のコンポーネントに基づいて、このレイアウト・マネージャを使用するtarget
コンテナの推奨サイズを判定します。ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、コンテナがその
getPreferredSize
メソッドを呼び出したときに呼び出されます。- 定義:
preferredLayoutSize
、インタフェース:LayoutManager
- パラメータ:
target
- レイアウトが行われるコンテナ。- 戻り値:
- 指定されたコンテナのサブコンポーネントを配置するための望ましい寸法。
- 関連項目:
Container
,minimumLayoutSize(java.awt.Container)
,Container.getPreferredSize()
-
maximumLayoutSize
指定されたターゲット・コンテナにコンポーネントが与えられた場合の、レイアウトの最大サイズを返します。- 定義:
maximumLayoutSize
、インタフェース:LayoutManager2
- パラメータ:
target
- レイアウトが必要なコンポーネント- 戻り値:
- コンテナの最大サイズ
- 関連項目:
Container
,minimumLayoutSize(java.awt.Container)
,preferredLayoutSize(java.awt.Container)
-
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)x軸方向の配置を返します。 これは、ほかのコンポーネントを基準にこのコンポーネントをどのように配置するかを指定します。 この値は0から1の間の数値であるはずです(0は原点に沿った配置を表し、1は原点からもっとも遠いところに、0.5は中央に配置されます)。- 定義:
getLayoutAlignmentX
、インタフェース:LayoutManager2
- パラメータ:
parent
- ターゲット・コンテナ- 戻り値:
- x軸整列のプリファレンス
-
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)y軸方向の配置を返します。 これは、ほかのコンポーネントを基準にこのコンポーネントをどのように配置するかを指定します。 この値は0から1の間の数値であるはずです(0は原点に沿った配置を表し、1は原点からもっとも遠いところに、0.5は中央に配置されます)。- 定義:
getLayoutAlignmentY
、インタフェース:LayoutManager2
- パラメータ:
parent
- ターゲット・コンテナ- 戻り値:
- y軸整列のプリファレンス
-
invalidateLayout
public void invalidateLayout(Container target)レイアウトを無効にします。このとき、レイアウト・マネージャが情報をキャッシュしていればそれを破棄します。- 定義:
invalidateLayout
、インタフェース:LayoutManager2
- パラメータ:
target
- ターゲット・コンテナ
-
layoutContainer
public void layoutContainer(Container target)このボーダー・レイアウトを使用してコンテナ引数を配置します。実際にはこのメソッドは、この
BorderLayout
オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTH
コンポーネントおよびSOUTH
コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WEST
コンポーネントおよびEAST
コンポーネントは、それぞれ左および右に配置されます。CENTER
オブジェクトは中央の残りのスペースに配置されます。ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、コンテナがその
doLayout
メソッドを呼び出したときに呼び出されます。- 定義:
layoutContainer
、インタフェース:LayoutManager
- パラメータ:
target
- レイアウトが行われるコンテナ。- 関連項目:
Container
,Container.doLayout()
-
toString
public String toString()このボーダー・レイアウトの状態を示す文字列表現を返します。
-
addLayoutComponent(Component, Object)
に置き換えられています。