|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.swing.BoxLayout
複数のコンポーネントを、垂直方向にも水平方向にも配置できるようにする、レイアウトマネージャです。コンポーネントの配置は折り返さないので、たとえば、垂直に並べられたコンポーネントは、フレームのサイズが変更されても垂直に並んだままです。
水平および垂直の異なる組み合わせを持つ複数のパネルを入れ子にすると、GridBagLayout と同様の効果を簡単に実現できます。上の図では、水平方向に並べられた 2 つのパネルに、垂直方向に並べられた 3 つのコンポーネントがそれぞれ含まれています。
Box のコンテナは、BoxLayout を使用します。これは、フローのレイアウトのデフォルトである JPanel とは異なります。複数のボックスを入れ子にして、それらにコンポーネントを追加し、必要な配置を得ることもできます。
BoxLayout マネージャは、管理するコンポーネントを左から右、あるいは上から下に配置します。BoxLayout を作成する際には、その主軸を X 軸 (左から右への配置) にするか、Y 軸 (上から下への配置) にするかを指定します。コンポーネントは、コンテナに追加された順に左から右、あるいは上から下に並べられます。
BoxLayout を直接使う代わりに、多くのプログラムは Box クラスを使っています。Box クラスは、BoxLayout を使う軽量なコンテナを提供します。また Box は、BoxLayout を使いやすくするためのメソッドも提供します。
BoxLayout は、その望ましい幅 (左から右へのレイアウトの場合) あるいは高さ (上から下へのレイアウトの場合) に従ってコンポーネントを並べようとします。左から右へのレイアウトの場合、すべてのコンポーネントが同じ高さではなくても、BoxLayout は各コンポーネントをもっとも高いコンポーネントと同じ高さに揃えようとします。特定のコンポーネントでそれが不可能な場合は、そのコンポーネントの Y 方向の整列に従って、コンポーネントを縦に整列します。デフォルトでは、コンポーネントの Y 方向の整列の値は 0.5 です。これは、コンポーネントの上下方向の中心の Y 座標が、同じく 0.5 の Y 整列を持つ別のコンポーネントの上下方向の中心と同じになることを意味します。
同様に、垂直方向のレイアウトでは、BoxLayout は列のコンポーネントの幅を、もっとも幅の広いものに揃えようとします。これに失敗した場合は、コンポーネントの X 整列に従って水平方向に整列を行います。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。
Box
,
Component.getAlignmentX()
,
Component.getAlignmentY()
, 直列化された形式フィールドの概要 | |
static int |
X_AXIS
コンポーネントのレイアウトの方向を左から右に指定します。 |
static int |
Y_AXIS
コンポーネントのレイアウトの方向を上から下に指定します。 |
コンストラクタの概要 | |
BoxLayout(Container target,
int axis)
コンポーネントを左から右、あるいは上から下のどちらにもレイアウトするレイアウトマネージャを作成します。 |
メソッドの概要 | |
void |
addLayoutComponent(Component comp,
Object constraints)
このクラスでは使用しません。 |
void |
addLayoutComponent(String name,
Component comp)
このクラスでは使用しません。 |
float |
getLayoutAlignmentX(Container target)
コンテナの X 軸に沿った配置を返します。 |
float |
getLayoutAlignmentY(Container target)
コンテナの Y 軸に沿った配置を返します。 |
void |
invalidateLayout(Container target)
子のレイアウト情報が変更されたことを示します。 |
void |
layoutContainer(Container target)
指定されたコンテナのレイアウトが必要な場合に、AWT が呼び出します。 |
Dimension |
maximumLayoutSize(Container target)
ターゲットコンテナが自身のコンポーネントをレイアウトするときに使用できる、最大のサイズを返します。 |
Dimension |
minimumLayoutSize(Container target)
指定されたターゲットコンテナに含まれるコンポーネントについて、レイアウトに必要な最小のサイズを返します。 |
Dimension |
preferredLayoutSize(Container target)
指定されたターゲットコンテナにあるコンポーネントについて、レイアウトの望ましいサイズを返します。 |
void |
removeLayoutComponent(Component comp)
このクラスでは使用しません。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int X_AXIS
public static final int Y_AXIS
コンストラクタの詳細 |
public BoxLayout(Container target, int axis)
axis
パラメータの指定に従います。target
- レイアウトする必要があるコンテナaxis
- コンポーネントをレイアウトする軸。左から右へのレイアウトには、BoxLayout.X_AXIS
を指定する。上から下へのレイアウトには、BoxLayout.Y_AXIS
を指定するAWTError
- axis
の値が無効な場合メソッドの詳細 |
public void invalidateLayout(Container target)
LayoutManager2
内の invalidateLayout
target
- 影響を受けるコンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合public void addLayoutComponent(String name, Component comp)
LayoutManager
内の addLayoutComponent
name
- コンポーネントの名前comp
- コンポーネントpublic void removeLayoutComponent(Component comp)
LayoutManager
内の removeLayoutComponent
comp
- コンポーネントpublic void addLayoutComponent(Component comp, Object constraints)
LayoutManager2
内の addLayoutComponent
comp
- コンポーネントconstraints
- 制約public Dimension preferredLayoutSize(Container target)
LayoutManager
内の preferredLayoutSize
target
- レイアウトする必要があるコンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合Container
,
minimumLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension minimumLayoutSize(Container target)
LayoutManager
内の minimumLayoutSize
target
- レイアウトする必要があるコンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合preferredLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension maximumLayoutSize(Container target)
LayoutManager2
内の maximumLayoutSize
target
- レイアウトする必要があるコンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合preferredLayoutSize(java.awt.Container)
,
minimumLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container target)
LayoutManager2
内の getLayoutAlignmentX
target
- コンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合public float getLayoutAlignmentY(Container target)
LayoutManager2
内の getLayoutAlignmentY
target
- コンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合public void layoutContainer(Container target)
LayoutManager
内の layoutContainer
target
- レイアウトするコンテナAWTError
- ターゲットが BoxLayout コンストラクタに指定されたコンテナでない場合
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.