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, 2013, Oracle and/or its affiliates. All rights reserved.