Java プラットフォーム 1.2

java.awt
クラス BorderLayout

java.lang.Object
  |
  +--java.awt.BorderLayout

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 だけが配置されます。

注: JDK 1.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
関連項目:
java.awt.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)
          推奨されません。 addLayoutComponent(Component, Object) に置き換えられました。
 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()
導入されたバージョン:
JDK1.2

AFTER_LAST_LINE

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

BEFORE_LINE_BEGINS

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

AFTER_LINE_ENDS

public static final String AFTER_LINE_ENDS
コンポーネントはレイアウトの行方向の最後に配置されます。WEST の、上から下、左から右の方向の場合は EAST と同じです。
関連項目:
Component.getComponentOrientation()
導入されたバージョン:
JDK1.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) に置き換えられました。

removeLayoutComponent

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

minimumLayoutSize

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

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

パラメータ:
target - レイアウトを行うコンテナ
戻り値:
指定されたコンテナのサブコンポーネントを配置するのに必要な最小の寸法
関連項目:
Container, preferredLayoutSize(java.awt.Container), Container.getMinimumSize()

preferredLayoutSize

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

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

パラメータ:
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 メソッドを呼び出したときに呼び出されます。

パラメータ:
target - レイアウトを行うコンテナ
関連項目:
Container, Container.doLayout()

toString

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

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.