|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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)
|
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
を指定するaxis
の値が無効な場合メソッドの詳細 |
public void invalidateLayout(Container target)
target
- 影響を受けるコンテナpublic void addLayoutComponent(String name, Component comp)
name
- コンポーネントの名前comp
- コンポーネントpublic void removeLayoutComponent(Component comp)
comp
- コンポーネントpublic void addLayoutComponent(Component comp, Object constraints)
comp
- コンポーネントconstraints
- 制約条件public Dimension preferredLayoutSize(Container target)
target
- レイアウトされるコンテナContainer
,
minimumLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension minimumLayoutSize(Container target)
target
- レイアウトされるコンテナpreferredLayoutSize(java.awt.Container)
,
maximumLayoutSize(java.awt.Container)
public Dimension maximumLayoutSize(Container target)
target
- レイアウトされるコンテナpreferredLayoutSize(java.awt.Container)
,
minimumLayoutSize(java.awt.Container)
public float getLayoutAlignmentX(Container target)
target
- コンテナpublic float getLayoutAlignmentY(Container target)
target
- コンテナpublic void layoutContainer(Container target)
target
- レイアウトするコンテナ
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |