JavaTM 2 Platform
Std. Ed. v1.3

java.awt
クラス BorderLayout

java.lang.Object
  |
  +--java.awt.BorderLayout
すべての実装インタフェース:
LayoutManager, LayoutManager2, Serializable

public class BorderLayout
extends Object
implements LayoutManager2, Serializable

ボーダレイアウトは、north (上部)、south (下部)、east (右端)、west (左端)、center (中央) という 5 つの領域に収まるように、コンポーネントを整列およびサイズ変更して、コンテナに配置します。各領域は、それぞれ対応する 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 は、BEFORE_FIRST_LINEAFTER_LAST_LINEBEFORE_LINE_BEGINSAFTER_LINE_ENDS という 4 つの相対的位置指定定数をサポートします。ComponentOrientation が ComponentOrientation.LEFT_TO_RIGHT に設定されているコンテナでは、これらの定数はそれぞれ NORTHSOUTHWESTEAST にマッピングされます。

2 種類の定数を同時に使用すると、予期せぬ結果が生じることがあります。両方の種類の定数を使用した場合は、相対的位置指定定数が優先されます。たとえば、方向が LEFT_TO_RIGHT のコンテナで NORTH 定数と BEFORE_FIRST_LINE 定数の両方を使ってコンポーネントを追加した場合、BEFORE_FIRST_LINE だけが配置されます。

注 : 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);
   }
 }

導入されたバージョン:
JDK1.0
関連項目:
Container.add(String, Component), ComponentOrientation, 直列化された形式

フィールドの概要
static String AFTER_LAST_LINE
          コンポーネントはレイアウトの内容の最終行のあとに配置されます。
static String AFTER_LINE_ENDS
          コンポーネントはレイアウトの行方向の最後に配置されます。
static String BEFORE_FIRST_LINE
          コンポーネントはレイアウトの内容の先頭行の前に配置されます。
static String BEFORE_LINE_BEGINS
          コンポーネントはレイアウトの行方向の先頭に配置されます。
static String CENTER
          center のレイアウト制約 (コンテナの中央) です。
static String EAST
          east のレイアウト制約 (コンテナの右端) です。
static String NORTH
          north のレイアウト制約 (コンテナの上部) です。
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)
          指定された名前で、指定されたコンポーネントをレイアウトに追加します。
 int getHgap()
          コンポーネント間の水平方向の間隔を返します。
 float getLayoutAlignmentX(Container parent)
          x 軸方向の配置方法を返します。
 float getLayoutAlignmentY(Container parent)
          y 軸方向の配置方法を返します。
 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()
          このボーダレイアウトの状態の文字列表現を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

NORTH

public static final String NORTH
north のレイアウト制約 (コンテナの上部) です。

SOUTH

public static final String SOUTH
south のレイアウト制約 (コンテナの下部) です。

EAST

public static final String EAST
east のレイアウト制約 (コンテナの右端) です。

WEST

public static final String WEST
west のレイアウト制約 (コンテナの左端) です。

CENTER

public static final String CENTER
center のレイアウト制約 (コンテナの中央) です。

BEFORE_FIRST_LINE

public static final String BEFORE_FIRST_LINE
コンポーネントはレイアウトの内容の先頭行の前に配置されます。WEST の、上から下、左から右の方向の場合は NORTH と同じです。
関連項目:
Component.getComponentOrientation()
導入されたバージョン:
1.2

AFTER_LAST_LINE

public static final String AFTER_LAST_LINE
コンポーネントはレイアウトの内容の最終行のあとに配置されます。WEST の、上から下、左から右の方向の場合は SOUTH と同じです。
関連項目:
Component.getComponentOrientation()
導入されたバージョン:
1.2

BEFORE_LINE_BEGINS

public static final String BEFORE_LINE_BEGINS
コンポーネントはレイアウトの行方向の先頭に配置されます。WEST の、上から下、左から右の方向の場合は WEST と同じです。
関連項目:
Component.getComponentOrientation()
導入されたバージョン:
1.2

AFTER_LINE_ENDS

public static final String AFTER_LINE_ENDS
コンポーネントはレイアウトの行方向の最後に配置されます。WEST の、上から下、左から右の方向の場合は EAST と同じです。
関連項目:
Component.getComponentOrientation()
導入されたバージョン:
1.2
コンストラクタの詳細

BorderLayout

public BorderLayout()
コンポーネント間に間隔を設けずに、新しいボーダレイアウトを構築します。

BorderLayout

public BorderLayout(int hgap,
                    int vgap)
コンポーネント間に間隔を指定して、新しいボーダレイアウトを構築します。水平方向の間隔は hgap によって指定され、垂直方向の間隔は vgap によって指定されます。
パラメータ:
hgap - 水平方向の間隔
vgap - 垂直方向の間隔
メソッドの詳細

getHgap

public int getHgap()
コンポーネント間の水平方向の間隔を返します。
導入されたバージョン:
JDK1.1

setHgap

public void setHgap(int hgap)
コンポーネント間の水平方向の間隔を設定します。
パラメータ:
hgap - コンポーネント間の水平方向の間隔
導入されたバージョン:
JDK1.1

getVgap

public int getVgap()
コンポーネント間の垂直方向の間隔を返します。
導入されたバージョン:
JDK1.1

setVgap

public void setVgap(int vgap)
コンポーネント間の垂直方向の間隔を設定します。
パラメータ:
vgap - コンポーネント間の垂直方向の間隔
導入されたバージョン:
JDK1.1

addLayoutComponent

public void addLayoutComponent(Component comp,
                               Object constraints)
指定された制約オブジェクトを用いて、指定されたコンポーネントをレイアウトに追加します。ボーダレイアウトでは、制約は、定数 NORTHSOUTHEASTWESTCENTER のどれかである必要があります。

ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、同じ引数の型で Container.add メソッドを使ってコンポーネントがコンテナに追加されたときに呼び出されます。

定義:
インタフェース LayoutManager2 内の addLayoutComponent
パラメータ:
comp - 追加されるコンポーネント
constraints - コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクト
例外:
IllegalArgumentException - 制約オブジェクトが文字列でない場合、または指定された 5 つの定数のどれでもない場合
導入されたバージョン:
JDK1.1
関連項目:
Container.add(java.awt.Component, java.lang.Object)

addLayoutComponent

public void addLayoutComponent(String name,
                               Component comp)
推奨されていません。 addLayoutComponent(Component, Object) に置き換えられました。

インタフェース LayoutManager の記述:
指定された名前で、指定されたコンポーネントをレイアウトに追加します。
定義:
インタフェース LayoutManager 内の addLayoutComponent
インタフェース java.awt.LayoutManager からコピーされたタグ:
パラメータ:
name - コンポーネントの名前
comp - 追加されるコンポーネント

removeLayoutComponent

public void removeLayoutComponent(Component comp)
このボーダレイアウトから、指定されたコンポーネントを削除します。このメソッドは、コンテナが remove メソッドまたは removeAll メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのコンポーネントを直接呼び出しません。
定義:
インタフェース LayoutManager 内の removeLayoutComponent
パラメータ:
comp - 削除されるコンポーネント
関連項目:
Container.remove(java.awt.Component), Container.removeAll()

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
このレイアウトマネージャを使用する target コンテナの最小サイズを判定します。

このメソッドは、コンテナが getMinimumSize メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのメソッドを直接呼び出しません。

定義:
インタフェース LayoutManager 内の minimumLayoutSize
パラメータ:
target - 配置が行われるコンテナ
戻り値:
指定されたコンテナのサブコンポーネントを配置するために必要な最小の寸法
関連項目:
Container, preferredLayoutSize(java.awt.Container), Container.getMinimumSize()

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
コンテナ内のコンポーネントに基づいて、このレイアウトマネージャを使用する target コンテナの推奨サイズを判定します。

ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが getPreferredSize メソッドを呼び出したときに呼び出されます。

定義:
インタフェース LayoutManager 内の preferredLayoutSize
パラメータ:
target - 配置が行われるコンテナ
戻り値:
指定されたコンテナのサブコンポーネントを配置する望ましい寸法
関連項目:
Container, minimumLayoutSize(java.awt.Container), Container.getPreferredSize()

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
指定されたターゲットコンテナの与えられたコンポーネントに対するレイアウトの最大サイズを返します。
定義:
インタフェース LayoutManager2 内の maximumLayoutSize
パラメータ:
target - レイアウトする必要があるコンポーネント
関連項目:
Container, minimumLayoutSize(java.awt.Container), preferredLayoutSize(java.awt.Container)

getLayoutAlignmentX

public float getLayoutAlignmentX(Container parent)
x 軸方向の配置方法を返します。これは、そのコンポーネントがほかのコンポーネントに対してどのように配置されるべきかを指定したものです。この値は 0 から 1 の間の数値で、0 は基点に沿った配置方法を表し、1 は基点からもっとも遠いところに、0.5 は中央に配置されます。
定義:
インタフェース LayoutManager2 内の getLayoutAlignmentX

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)
y 軸方向の配置方法を返します。これは、そのコンポーネントがほかのコンポーネントに対してどのように配置されるべきかを指定したものです。この値は 0 から 1 の間の数値で、0 は基点に沿った配置方法を表し、1 は基点からもっとも遠いところに、0.5 は中央に配置されます。
定義:
インタフェース LayoutManager2 内の getLayoutAlignmentY

invalidateLayout

public void invalidateLayout(Container target)
レイアウトを無効にします。このとき、レイアウトマネージャが情報をキャッシュしていればそれは破棄されなければなりません。
定義:
インタフェース LayoutManager2 内の invalidateLayout

layoutContainer

public void layoutContainer(Container target)
このボーダレイアウトを使用してコンテナ引数を配置します。

実際にはこのメソッドは、この BorderLayout オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTH コンポーネントおよび SOUTH コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WEST コンポーネントおよび EAST コンポーネントは、それぞれ左および右に配置されます。CENTER オブジェクトは中央の残りのスペースに配置されます。

ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが doLayout メソッドを呼び出したときに呼び出されます。

定義:
インタフェース LayoutManager 内の layoutContainer
パラメータ:
target - 配置が行われるコンテナ
関連項目:
Container, Container.doLayout()

toString

public String toString()
このボーダレイアウトの状態の文字列表現を返します。
オーバーライド:
クラス Object 内の toString
戻り値:
このボーダレイアウトの文字列表現

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.