|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.BorderLayout
ボーダレイアウトは、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_LINE
、AFTER_LAST_LINE
、BEFORE_LINE_BEGINS
、AFTER_LINE_ENDS
という 4 つの相対的位置指定定数をサポートします。ComponentOrientation が ComponentOrientation.LEFT_TO_RIGHT
に設定されているコンテナでは、これらの定数はそれぞれ NORTH
、SOUTH
、WEST
、EAST
にマッピングされます。
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); } }
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 |
フィールドの詳細 |
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
Component.getComponentOrientation()
public static final String AFTER_LAST_LINE
Component.getComponentOrientation()
public static final String BEFORE_LINE_BEGINS
Component.getComponentOrientation()
public static final String AFTER_LINE_ENDS
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
メソッドを使ってコンポーネントがコンテナに追加されたときに呼び出されます。
comp
- 追加されるコンポーネントconstraints
- コンポーネントがレイアウトに追加される方法と場所を指定するオブジェクトContainer.add(java.awt.Component, java.lang.Object)
public void addLayoutComponent(String name, Component comp)
addLayoutComponent(Component, Object)
に置き換えられました。public void removeLayoutComponent(Component comp)
remove
メソッドまたは removeAll
メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのコンポーネントを直接呼び出しません。comp
- 削除されるコンポーネントContainer.remove(java.awt.Component)
,
Container.removeAll()
public Dimension minimumLayoutSize(Container target)
target
コンテナの最小サイズを判定します。
このメソッドは、コンテナが getMinimumSize
メソッドを呼び出したときに呼び出されます。ほとんどのアプリケーションはこのメソッドを直接呼び出しません。
target
- レイアウトを行うコンテナContainer
,
preferredLayoutSize(java.awt.Container)
,
Container.getMinimumSize()
public Dimension preferredLayoutSize(Container target)
target
コンテナの推奨サイズを判定します。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが getPreferredSize
メソッドを呼び出したときに呼び出されます。
target
- レイアウトを行うコンテナContainer
,
minimumLayoutSize(java.awt.Container)
,
Container.getPreferredSize()
public Dimension maximumLayoutSize(Container target)
target
- 配置が必要なコンポーネントContainer
,
minimumLayoutSize(java.awt.Container)
,
preferredLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container parent)
public float getLayoutAlignmentY(Container parent)
public void invalidateLayout(Container target)
public void layoutContainer(Container target)
実際にはこのメソッドは、この BorderLayout
オブジェクトの制約を満たすために、指定されたコンテナ内のコンポーネントの形状を変更します。NORTH
コンポーネントおよび SOUTH
コンポーネントがある場合、それらはコンテナのそれぞれ上部および下部に配置されます。WEST
コンポーネントおよび EAST
コンポーネントは、それぞれ左および右に配置されます。CENTER
オブジェクトは中央の残りのスペースに配置されます。
ほとんどのアプリケーションはこのメソッドを直接呼び出しません。このメソッドは、コンテナが doLayout
メソッドを呼び出したときに呼び出されます。
target
- レイアウトを行うコンテナContainer
,
Container.doLayout()
public String toString()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |