|
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
内の addLayoutComponent
comp
- 追加されるコンポーネント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
内の addLayoutComponent
name
- コンポーネントに関連付けられた文字列comp
- 追加されるコンポーネントpublic void removeLayoutComponent(Component comp)
remove
メソッドまたは removeAll
メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのコンポーネントを直接呼び出しません。
LayoutManager
内の removeLayoutComponent
comp
- 削除される要素Container.remove(java.awt.Component)
,
Container.removeAll()
public Dimension minimumLayoutSize(Container target)
target
コンテナの最小サイズを判定します。
このメソッドは、コンテナが getMinimumSize
メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのメソッドを直接呼び出しません。
LayoutManager
内の minimumLayoutSize
target
- 配置が行われるコンテナ
Container
,
preferredLayoutSize(java.awt.Container)
,
Container.getMinimumSize()
public Dimension preferredLayoutSize(Container target)
target
コンテナの推奨サイズを判定します。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが getPreferredSize
メソッドを呼び出したときに呼び出されます。
LayoutManager
内の preferredLayoutSize
target
- 配置が行われるコンテナ
Container
,
minimumLayoutSize(java.awt.Container)
,
Container.getPreferredSize()
public Dimension maximumLayoutSize(Container target)
LayoutManager2
内の maximumLayoutSize
target
- レイアウトする必要があるコンポーネントContainer
,
minimumLayoutSize(java.awt.Container)
,
preferredLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container parent)
LayoutManager2
内の getLayoutAlignmentX
public float getLayoutAlignmentY(Container parent)
LayoutManager2
内の getLayoutAlignmentY
public void invalidateLayout(Container target)
LayoutManager2
内の invalidateLayout
public void layoutContainer(Container target)
実際にはこのメソッドは、この BorderLayout
オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTH
コンポーネントおよび SOUTH
コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WEST
コンポーネントおよび EAST
コンポーネントは、それぞれ左および右に配置されます。CENTER
オブジェクトは中央の残りのスペースに配置されます。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが doLayout
メソッドを呼び出したときに呼び出されます。
LayoutManager
内の layoutContainer
target
- 配置が行われるコンテナ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.