|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object | +--java.awt.BorderLayout
ボーダレイアウトは、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_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)
レイアウトマネージャがコンポーネントごとの文字列を使用する場合、レイアウトにコンポーネントの comp を追加し、name によって指定された文字列に関連付けます。 |
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 |
| フィールドの詳細 |
public static final String NORTH
public static final String SOUTH
public static final String EAST
public static final String WEST
public static final String CENTER
public static final String BEFORE_FIRST_LINE
PAGE_START,
定数フィールド値public static final String AFTER_LAST_LINE
PAGE_END,
定数フィールド値public static final String BEFORE_LINE_BEGINS
LINE_START,
定数フィールド値public static final String AFTER_LINE_ENDS
LINE_END,
定数フィールド値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 メソッドを使ってコンポーネントがコンテナに追加されたときに呼び出されます。
LayoutManager2 内の addLayoutComponentcomp - 追加されるコンポーネントconstraints - コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクト
IllegalArgumentException - 制約オブジェクトが文字列でない場合、または指定された 5 つの定数のどれでもない場合Container.add(java.awt.Component, java.lang.Object)
public void addLayoutComponent(String name,
Component comp)
addLayoutComponent(Component, Object) を代わりに使用します。
LayoutManager の記述: comp を追加し、name によって指定された文字列に関連付けます。
LayoutManager 内の addLayoutComponentname - コンポーネントに関連付けられた文字列comp - 追加されるコンポーネントpublic void removeLayoutComponent(Component comp)
remove メソッドまたは removeAll メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのコンポーネントを直接呼び出しません。
LayoutManager 内の removeLayoutComponentcomp - 削除される要素Container.remove(java.awt.Component),
Container.removeAll()public Dimension minimumLayoutSize(Container target)
target コンテナの最小サイズを判定します。
このメソッドは、コンテナが getMinimumSize メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのメソッドを直接呼び出しません。
LayoutManager 内の minimumLayoutSizetarget - 配置が行われるコンテナ
Container,
preferredLayoutSize(java.awt.Container),
Container.getMinimumSize()public Dimension preferredLayoutSize(Container target)
target コンテナの推奨サイズを判定します。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが getPreferredSize メソッドを呼び出したときに呼び出されます。
LayoutManager 内の preferredLayoutSizetarget - 配置が行われるコンテナ
Container,
minimumLayoutSize(java.awt.Container),
Container.getPreferredSize()public Dimension maximumLayoutSize(Container target)
LayoutManager2 内の maximumLayoutSizetarget - レイアウトする必要があるコンポーネントContainer,
minimumLayoutSize(java.awt.Container),
preferredLayoutSize(java.awt.Container)public float getLayoutAlignmentX(Container parent)
LayoutManager2 内の getLayoutAlignmentXpublic float getLayoutAlignmentY(Container parent)
LayoutManager2 内の getLayoutAlignmentYpublic void invalidateLayout(Container target)
LayoutManager2 内の invalidateLayoutpublic void layoutContainer(Container target)
実際にはこのメソッドは、この BorderLayout オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTH コンポーネントおよび SOUTH コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WEST コンポーネントおよび EAST コンポーネントは、それぞれ左および右に配置されます。CENTER オブジェクトは中央の残りのスペースに配置されます。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが doLayout メソッドを呼び出したときに呼び出されます。
LayoutManager 内の layoutContainertarget - 配置が行われるコンテナContainer,
Container.doLayout()public String toString()
Object 内の toString
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.