public class BorderLayout extends Object implements 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
だけを使用して配置が行われます。
ノート: Java 2プラットフォームv1.2では、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); } }
Container.add(String, Component)
, ComponentOrientation
, 直列化された形式修飾子と型 | フィールド | 説明 |
---|---|---|
static String |
AFTER_LAST_LINE |
PAGE_ENDと同じ意味を持ちます。
|
static String |
AFTER_LINE_ENDS |
LINE_ENDと同じ意味を持ちます。
|
static String |
BEFORE_FIRST_LINE |
PAGE_STARTと同じ意味を持ちます。
|
static String |
BEFORE_LINE_BEGINS |
LINE_STARTと同じ意味を持ちます。
|
static String |
CENTER |
centerのレイアウト制約(コンテナの中央)です。
|
static String |
EAST |
eastのレイアウト制約(コンテナの右端)です。
|
static String |
LINE_END |
コンポーネントはレイアウトの行方向の最後に配置されます。
|
static String |
LINE_START |
コンポーネントはレイアウトの行方向の先頭に配置されます。
|
static String |
NORTH |
northのレイアウト制約(コンテナの上端)です。
|
static String |
PAGE_END |
コンポーネントはレイアウトの内容の最終行のあとに配置されます。
|
static String |
PAGE_START |
コンポーネントはレイアウトの内容の先頭行の前に配置されます。
|
static String |
SOUTH |
southのレイアウト制約(コンテナの下端)です。
|
static String |
WEST |
westのレイアウト制約(コンテナの左端)です。
|
コンストラクタ | 説明 |
---|---|
BorderLayout() |
コンポーネント間に間隔を設けずに、新しいボーダー・レイアウトを構築します。
|
BorderLayout(int hgap, int vgap) |
コンポーネント間に間隔を指定して、新しいボーダー・レイアウトを構築します。
|
修飾子と型 | メソッド | 説明 |
---|---|---|
void |
addLayoutComponent(Component comp, Object constraints) |
指定された制約オブジェクトを使って、指定されたコンポーネントをレイアウトに追加します。
|
void |
addLayoutComponent(String name, Component comp) |
非推奨。
addLayoutComponent(Component, Object) に置き換えられています。 |
Object |
getConstraints(Component comp) |
指定されたコンポーネントの制約を取得します。
|
int |
getHgap() |
コンポーネント間の水平方向の間隔を返します。
|
float |
getLayoutAlignmentX(Container parent) |
x軸方向の配置を返します。
|
float |
getLayoutAlignmentY(Container parent) |
y軸方向の配置を返します。
|
Component |
getLayoutComponent(Container target, Object constraints) |
ターゲット
Container のコンポーネント方向に基づいて、特定の制約の場所に対応するコンポーネントを返します。 |
Component |
getLayoutComponent(Object constraints) |
指定された制約で追加されたコンポーネントを取得します。
|
int |
getVgap() |
コンポーネント間の垂直方向の間隔を返します。
|
void |
invalidateLayout(Container target) |
レイアウトを無効にします。このとき、レイアウト・マネージャが情報をキャッシュしていればそれを破棄します。
|
void |
layoutContainer(Container target) |
このボーダー・レイアウトを使用してコンテナ引数を配置します。
|
Dimension |
maximumLayoutSize(Container target) |
指定されたターゲット・コンテナにコンポーネントが与えられた場合の、レイアウトの最大サイズを返します。
|
Dimension |
minimumLayoutSize(Container target) |
このレイアウト・マネージャを使用する
target コンテナの最小サイズを判定します。 |
Dimension |
preferredLayoutSize(Container target) |
コンテナ内のコンポーネントに基づいて、このレイアウト・マネージャを使用する
target コンテナの優先サイズを判定します。 |
void |
removeLayoutComponent(Component comp) |
このボーダー・レイアウトから、指定されたコンポーネントを削除します。
|
void |
setHgap(int hgap) |
コンポーネント間の水平方向の間隔を設定します。
|
void |
setVgap(int vgap) |
コンポーネント間の垂直方向の間隔を設定します。
|
String |
toString() |
このボーダー・レイアウトの状態を示す文字列表現を返します。
|
public static final String BEFORE_FIRST_LINE
PAGE_START
, 定数フィールド値public static final String AFTER_LAST_LINE
public static final String BEFORE_LINE_BEGINS
LINE_START
, 定数フィールド値public static final String AFTER_LINE_ENDS
public static final String PAGE_START
Component.getComponentOrientation()
, 定数フィールド値public static final String PAGE_END
Component.getComponentOrientation()
, 定数フィールド値public static final String LINE_START
Component.getComponentOrientation()
, 定数フィールド値public static final String LINE_END
Component.getComponentOrientation()
, 定数フィールド値public BorderLayout()
public BorderLayout(int hgap, int vgap)
hgap
によって指定され、垂直方向の間隔はvgap
によって指定されます。 hgap
- 水平方向の間隔。vgap
- 垂直方向の間隔。public int getHgap()
public void setHgap(int hgap)
hgap
- コンポーネント間の水平方向の間隔public int getVgap()
public void setVgap(int vgap)
vgap
- コンポーネント間の垂直方向の間隔public void addLayoutComponent(Component comp, Object constraints)
NORTH
、SOUTH
、EAST
、WEST
、CENTER
のいずれかである必要があります。
ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、同じ引数の型でContainer.add
メソッドを使ってコンポーネントがコンテナに追加されたときに呼び出されます。
addLayoutComponent
、インタフェースLayoutManager2
comp
- 追加されるコンポーネント。constraints
- コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクトIllegalArgumentException
- 制約オブジェクトが文字列でない場合、または指定された5つの定数のどれでもない場合Container.add(java.awt.Component, java.lang.Object)
@Deprecated public void addLayoutComponent(String name, Component comp)
addLayoutComponent(Component, Object)
に置き換えられています。LayoutManager
comp
を追加し、それをname
によって指定された文字列に関連付けます。addLayoutComponent
、インタフェースLayoutManager
name
- コンポーネントに関連付けられる文字列comp
- 追加されるコンポーネントpublic void removeLayoutComponent(Component comp)
remove
メソッドまたはremoveAll
メソッドを呼び出したときに呼び出されます。 ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 removeLayoutComponent
、インタフェースLayoutManager
comp
- 削除されるコンポーネント。Container.remove(java.awt.Component)
, Container.removeAll()
public Component getLayoutComponent(Object constraints)
constraints
- 目的の制約。CENTER
、NORTH
、SOUTH
、WEST
、EAST
、PAGE_START
、PAGE_END
、LINE_START
、LINE_END
のいずれかnull
IllegalArgumentException
- 制約オブジェクトが指定された9つの定数のどれでもない場合addLayoutComponent(java.awt.Component, java.lang.Object)
public Component getLayoutComponent(Container target, Object constraints)
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の場合addLayoutComponent(java.awt.Component, java.lang.Object)
public Object getConstraints(Component comp)
comp
- 照会されるコンポーネントaddLayoutComponent(java.awt.Component, java.lang.Object)
public Dimension minimumLayoutSize(Container target)
target
コンテナの最小サイズを判定します。
このメソッドは、コンテナがそのgetMinimumSize
メソッドを呼び出したときに呼び出されます。 ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。
minimumLayoutSize
、インタフェースLayoutManager
target
- レイアウトが行われるコンテナ。Container
, preferredLayoutSize(java.awt.Container)
, Container.getMinimumSize()
public Dimension preferredLayoutSize(Container target)
target
コンテナの優先サイズを判定します。
ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、コンテナがそのgetPreferredSize
メソッドを呼び出したときに呼び出されます。
preferredLayoutSize
、インタフェースLayoutManager
target
- レイアウトが行われるコンテナ。Container
, minimumLayoutSize(java.awt.Container)
, Container.getPreferredSize()
public Dimension maximumLayoutSize(Container target)
maximumLayoutSize
、インタフェースLayoutManager2
target
- レイアウトが必要なコンポーネントContainer
, minimumLayoutSize(java.awt.Container)
, preferredLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container parent)
getLayoutAlignmentX
、インタフェースLayoutManager2
public float getLayoutAlignmentY(Container parent)
getLayoutAlignmentY
、インタフェースLayoutManager2
public void invalidateLayout(Container target)
invalidateLayout
、インタフェースLayoutManager2
public void layoutContainer(Container target)
実際にはこのメソッドは、このBorderLayout
オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。 NORTH
コンポーネントおよびSOUTH
コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。 WEST
コンポーネントおよびEAST
コンポーネントは、それぞれ左および右に配置されます。 CENTER
オブジェクトは中央の残りのスペースに配置されます。
ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。 このメソッドは、コンテナがそのdoLayout
メソッドを呼び出したときに呼び出されます。
layoutContainer
、インタフェースLayoutManager
target
- レイアウトが行われるコンテナ。Container
, Container.doLayout()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。