JavaTM 2 Platform
Standard Ed. 5.0

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 つの領域に収まるように、コンポーネントを整列およびサイズ変更して、コンテナに配置します。各領域のコンポーネントを最大 1 つずつ含むことができ、それぞれ対応する定数 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_STARTPAGE_ENDLINE_START、および LINE_END という相対位置指定定数をサポートします。ComponentOrientationComponentOrientation.LEFT_TO_RIGHT に設定されているコンテナでは、これらの定数はそれぞれ NORTHSOUTHWESTEAST にマッピングされます。

以前のリリースとの互換性を保つため、BorderLayout には BEFORE_FIRST_LINEAFTER_LAST_LINEBEFORE_LINE_BEGINS、および AFTER_LINE_ENDS という相対位置指定定数も用意されています。これらはそれぞれ PAGE_STARTPAGE_ENDLINE_START、および LINE_END と同じ意味を持ちます。他のコンポーネントの相対位置指定定数との互換性の面から、できるだけあとの 4 つを使用します。

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

注: Java 2 プラットフォーム v1.2 では、BorderLayout は垂直方向をサポートしていません。コンテナの ComponentOrientationisVertical の設定値は無視されます。

コンポーネントはそれらの推奨サイズやコンテナサイズの制約を満たすように配置されます。NORTH コンポーネントおよび SOUTH コンポーネントは水平方向に引き伸ばされます。EAST コンポーネントおよび WEST コンポーネントは垂直方向に引き伸ばされます。CENTER コンポーネントは、スペースを残さないように、水平および垂直の両方向に引き伸ばされます。

以下の例では、BorderLayout レイアウトマネージャを使ってアプレット内に 5 つのボタンが配置されます。

BorderLayout を示すアプレットの図。BorderLayout の各セクションには、レイアウトのその位置に対応するボタン (North、West、Center、East、または South のいずれか) を含む

このアプレットのコードは次のとおりです。


 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
          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)
          目的のコンテナのコンポーネント方向に基づいて、指定された制約の場所に対応するコンポーネントを取得します。
 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()
          このボーダレイアウトの状態を示す文字列表現を返します。
 
クラス 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
PAGE_START と同じ意味を持ちます。以前のバージョンとの互換性のために残されています。PAGE_START を使うことを推奨します。

導入されたバージョン:
1.2
関連項目:
PAGE_START, 定数フィールド値

AFTER_LAST_LINE

public static final String AFTER_LAST_LINE
PAGE_END と同じ意味を持ちます。以前のバージョンとの互換性のために残されています。できるだけ PAGE_END を使用します。

導入されたバージョン:
1.2
関連項目:
PAGE_END, 定数フィールド値

BEFORE_LINE_BEGINS

public static final String BEFORE_LINE_BEGINS
LINE_START と同じ意味を持ちます。以前のバージョンとの互換性のために残されています。できるだけ LINE_START を使用します。

導入されたバージョン:
1.2
関連項目:
LINE_START, 定数フィールド値

AFTER_LINE_ENDS

public static final String AFTER_LINE_ENDS
LINE_END と同じ意味を持ちます。以前のバージョンとの互換性のために残されています。できるだけ LINE_END を使用します。

導入されたバージョン:
1.2
関連項目:
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()
コンポーネント間の水平方向の間隔を返します。

導入されたバージョン:
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)
指定された制約オブジェクトを使って、指定されたコンポーネントをレイアウトに追加します。ボーダレイアウトでは、制約は、定数 NORTHSOUTHEASTWEST、または CENTER のいずれかである必要があります。

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

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

addLayoutComponent

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

インタフェース LayoutManager の記述:
レイアウトマネージャがコンポーネントごとの文字列を使用する場合、レイアウトにコンポーネントの comp を追加し、name によって指定された文字列に関連付けます。

定義:
インタフェース LayoutManager 内の addLayoutComponent
パラメータ:
name - コンポーネントに関連付けられた文字列
comp - 追加されるコンポーネント

removeLayoutComponent

public void removeLayoutComponent(Component comp)
このボーダレイアウトから、指定されたコンポーネントを削除します。このメソッドは、コンテナが remove メソッドまたは removeAll メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのコンポーネントを直接呼び出しません。

定義:
インタフェース LayoutManager 内の removeLayoutComponent
パラメータ:
comp - 削除される要素
関連項目:
Container.remove(java.awt.Component), Container.removeAll()

getLayoutComponent

public Component getLayoutComponent(Object constraints)
指定された制約で追加されたコンポーネントを取得します。

パラメータ:
constraints - 目的の制約。CENTERNORTHSOUTHWESTEASTPAGE_STARTPAGE_ENDLINE_STARTLINE_END のいずれか
戻り値:
指定された場所のコンポーネントまたは場所が空の場合は null
例外:
IllegalArgumentException - 制約オブジェクトが指定された 9 つの制約のどれでもない場合
導入されたバージョン:
1.5
関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)

getLayoutComponent

public Component getLayoutComponent(Container target,
                                    Object constraints)
目的のコンテナのコンポーネント方向に基づいて、指定された制約の場所に対応するコンポーネントを取得します。

パラメータ:
constraints - 目的の絶対位置。CENTERNORTHSOUTHEASTWEST のいずれか
target - この BorderLayout を使用する Container
戻り値:
指定された場所のコンポーネントまたは場所が空の場合は null
例外:
IllegalArgumentException - 制約オブジェクトが指定された 5 つの制約のどれでもない場合
NullPointerException - target パラメータが null の場合
導入されたバージョン:
1.5
関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)

getConstraints

public Object getConstraints(Component comp)
指定されたコンポーネントの制約を取得します。

パラメータ:
comp - 照会されるコンポーネント
戻り値:
指定されたコンポーネントの制約、またはコンポーネントが null か、このレイアウトに存在しない場合は null
導入されたバージョン:
1.5
関連項目:
addLayoutComponent(java.awt.Component, java.lang.Object)

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
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。