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、インタフェース: LayoutManager2comp - 追加されるコンポーネント。constraints - コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクトIllegalArgumentException - 制約オブジェクトが文字列でない場合、または指定された5つの定数のどれでもない場合Container.add(java.awt.Component, java.lang.Object)@Deprecated public void addLayoutComponent(String name, Component comp)
addLayoutComponent(Component, Object)に置き換えられています。LayoutManagercompを追加し、それをnameによって指定された文字列に関連付けます。addLayoutComponent、インタフェース: LayoutManagername - コンポーネントに関連付けられる文字列comp - 追加されるコンポーネントpublic void removeLayoutComponent(Component comp)
removeメソッドまたはremoveAllメソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。removeLayoutComponent、インタフェース: LayoutManagercomp - 削除されるコンポーネント。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のいずれかnullIllegalArgumentException - 制約オブジェクトが指定された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のコンポーネント方向に基づいて判定されるnullIllegalArgumentException - 制約オブジェクトが指定された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、インタフェース: LayoutManagertarget - レイアウトが行われるコンテナ。Container, preferredLayoutSize(java.awt.Container), Container.getMinimumSize()public Dimension preferredLayoutSize(Container target)
targetコンテナの優先サイズを判定します。
ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。このメソッドは、コンテナがそのgetPreferredSizeメソッドを呼び出したときに呼び出されます。
preferredLayoutSize、インタフェース: LayoutManagertarget - レイアウトが行われるコンテナ。Container, minimumLayoutSize(java.awt.Container), Container.getPreferredSize()public Dimension maximumLayoutSize(Container target)
maximumLayoutSize、インタフェース: LayoutManager2target - レイアウトが必要なコンポーネントContainer, minimumLayoutSize(java.awt.Container), preferredLayoutSize(java.awt.Container)public float getLayoutAlignmentX(Container parent)
getLayoutAlignmentX、インタフェース: LayoutManager2public float getLayoutAlignmentY(Container parent)
getLayoutAlignmentY、インタフェース: LayoutManager2public void invalidateLayout(Container target)
invalidateLayout、インタフェース: LayoutManager2public void layoutContainer(Container target)
実際にはこのメソッドは、このBorderLayoutオブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTHコンポーネントおよびSOUTHコンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WESTコンポーネントおよびEASTコンポーネントは、それぞれ左および右に配置されます。CENTERオブジェクトは中央の残りのスペースに配置されます。
ほとんどのアプリケーションはこのメソッドを直接には呼び出しません。このメソッドは、コンテナがそのdoLayoutメソッドを呼び出したときに呼び出されます。
layoutContainer、インタフェース: LayoutManagertarget - レイアウトが行われるコンテナ。Container, Container.doLayout() バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.