クラスBoxLayout
- すべての実装されたインタフェース:
LayoutManager,LayoutManager2,Serializable
- 直系の既知のサブクラス:
DefaultMenuLayout
例:
水平と垂直の組合せが異なる複数のパネルをネストすると、複雑さがなくても、GridBagLayoutと同様の効果が得られます。 上の図では、水平方向に並べられた2つのパネルに、垂直方向に並べられた3つのコンポーネントがそれぞれ含まれています。
BoxLayoutマネージャは、実行するレイアウトのタイプを指定する軸パラメータを使用して構築されます。 次の4つの選択肢があります。
X_AXIS- コンポーネントは左から右に水平に配置されます。Y_AXIS- コンポーネントは上から下に垂直に配置されます。LINE_AXIS- コンポーネントは、コンテナのComponentOrientationプロパティに基づいて、単語のレイアウト方法を1行にまとめます。 コンテナのComponentOrientationが水平の場合、コンポーネントは水平に配置され、それ以外の場合は垂直に配置されます。 水平方向の場合、コンテナのComponentOrientationが左から右の場合、コンポーネントは左から右にレイアウトされ、それ以外の場合は右から左にレイアウトされます。 垂直配置では、コンポーネントは常に上から下に配置されます。PAGE_AXIS- コンポーネントは、コンテナのComponentOrientationプロパティに基づいて、ページでのテキスト行のレイアウト方法をレイアウトします。 コンテナのComponentOrientationが水平の場合、コンポーネントは垂直に配置され、それ以外の場合は水平に配置されます。 水平方向の場合、コンテナのComponentOrientationが左から右の場合、コンポーネントは左から右にレイアウトされ、それ以外の場合は右から左にレイアウトされます。 垂直配置では、コンポーネントは常に上から下に配置されます。
どちらの方向に配置される場合でも、コンポーネントはコンテナに追加された順序で配置されます。
BoxLayoutは、優先幅(水平レイアウトの場合)または高さ(垂直レイアウトの場合)でコンポーネントの配置を試みます。
水平レイアウトで、すべてのコンポーネントが同じ高さでない場合、BoxLayoutはすべてのコンポーネントを最も高いコンポーネントと同じ高さにしようとします。 特定のコンポーネントで不可能な場合、BoxLayoutはコンポーネントのY整列に従って、そのコンポーネントを垂直に整列します。 デフォルトでコンポーネントは0.5のY揃えになり、これはコンポーネントの垂直方向の中心が、0.5のY揃えの他のコンポーネントの垂直方向の中心と同じY座標を持つことを意味します。
同様に、垂直レイアウトの場合、BoxLayoutは、列内のすべてのコンポーネントを最も広いコンポーネントとして幅広くしようとします。 これに失敗した場合は、X方向の位置合わせ用の値に従って、コンポーネントを水平方向に整列します。 PAGE_AXISレイアウトでは、コンポーネントの先端位置を基準にして水平方向に整列されます。 つまり、X整列値0.0は、コンテナのComponentOrientationが左から右の場合はコンポーネントの左端を意味し、それ以外の場合はコンポーネントの右端を意味します。
BoxLayoutを直接使用するかわりに、多くのプログラムでBoxクラスが使用されます。 Boxクラスは、BoxLayoutレイアウト・マネージャを使用する軽量コンテナです。 また、BoxLayoutの使用に役立つ便利なメソッドも提供されます。 ネストされた複数のボックスへのコンポーネント追加によって、必要な配置を容易に得ることができます。
詳細と使用例については、『The Java Tutorial』の「How to Use BoxLayout」を参照してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intターゲット・コンテナのComponentOrientationプロパティの決定に従って、テキスト行の方向にコンポーネントの配置を指定します。static final intターゲット・コンテナのComponentOrientationプロパティの決定に従って、複数ページにまたがって行が進んでいく方向にコンポーネントが配置されるように指定します。static final intコンポーネントの配置の方向を左から右に指定します。static final intコンポーネントの配置の方向を上から下に指定します。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidaddLayoutComponent(Component comp, Object constraints) このクラスでは使用しません。voidaddLayoutComponent(String name, Component comp) このクラスでは使用しません。final intgetAxis()コンポーネントの配置に使用された軸を返します。floatgetLayoutAlignmentX(Container target) コンテナのX軸方向の配置を返します。floatgetLayoutAlignmentY(Container target) コンテナのY軸方向の配置を返します。final Containerこのレイアウト・マネージャを使用するコンテナを返します。voidinvalidateLayout(Container target) 子のレイアウト関連情報が変更されたことを示します。キャッシュされていた計算はすべてフラッシュされます。voidlayoutContainer(Container target) 指定されたコンテナを配置する必要があるときにAWT によって呼び出されます。maximumLayoutSize(Container target) ターゲット・コンテナに含まれているコンポーネントをレイアウトするときに使用できる、最大の寸法を返します。minimumLayoutSize(Container target) 指定されたターゲット・コンテナに含まれているコンポーネントのレイアウトに必要な最小寸法を返します。preferredLayoutSize(Container target) 指定されたターゲット・コンテナ内にコンポーネントがある場合に、このレイアウトの推奨サイズを返します。voidこのクラスでは使用しません。
-
フィールド詳細
-
X_AXIS
public static final int X_AXISコンポーネントの配置の方向を左から右に指定します。- 関連項目:
-
Y_AXIS
public static final int Y_AXISコンポーネントの配置の方向を上から下に指定します。- 関連項目:
-
LINE_AXIS
public static final int LINE_AXISターゲット・コンテナのComponentOrientationプロパティの決定に従って、テキスト行の方向にコンポーネントの配置を指定します。- 関連項目:
-
PAGE_AXIS
public static final int PAGE_AXISターゲット・コンテナのComponentOrientationプロパティの決定に従って、複数ページにまたがって行が進んでいく方向にコンポーネントが配置されるように指定します。- 関連項目:
-
-
コンストラクタの詳細
-
BoxLayout
@ConstructorProperties({"target","axis"}) public BoxLayout(Container target, int axis) コンポーネントを指定された軸方向に配置するレイアウト・マネージャを生成します。- パラメータ:
target-配置する必要があるコンテナaxis- コンポーネントを配置する際に基準とする軸。 次のいずれかにできます:BoxLayout.X_AXIS, BoxLayout.Y_AXIS, BoxLayout.LINE_AXISまたはBoxLayout.PAGE_AXIS- スロー:
AWTError-axisの値が無効の場合
-
-
メソッドの詳細
-
getTarget
public final Container getTarget()このレイアウト・マネージャを使用するコンテナを返します。- 戻り値:
- このレイアウト・マネージャを使用するコンテナ
- 導入されたバージョン:
- 1.6
-
getAxis
public final int getAxis()コンポーネントの配置に使用された軸を返します。 次のいずれかを返します:BoxLayout.X_AXIS, BoxLayout.Y_AXIS, BoxLayout.LINE_AXISまたはBoxLayout.PAGE_AXIS- 戻り値:
- コンポーネントの配置に使用された軸
- 導入されたバージョン:
- 1.6
-
invalidateLayout
public void invalidateLayout(Container target) 子のレイアウト関連情報が変更されたことを示します。キャッシュされていた計算はすべてフラッシュされます。このメソッドは、コンテナで無効なメソッドが呼び出されたときにAWTによって呼び出されます。 無効なメソッドはイベント・スレッドに非同期的に呼び出すことができるため、このメソッドも非同期的に呼び出すことができます。
- 定義:
invalidateLayout、インタフェースLayoutManager2- パラメータ:
target- 影響を受けるコンテナ- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合
-
addLayoutComponent
このクラスでは使用しません。- 定義:
addLayoutComponent、インタフェースLayoutManager- パラメータ:
name- コンポーネントの名前comp- コンポーネント
-
removeLayoutComponent
public void removeLayoutComponent(Component comp) このクラスでは使用しません。- 定義:
removeLayoutComponent、インタフェースLayoutManager- パラメータ:
comp- コンポーネント
-
addLayoutComponent
このクラスでは使用しません。- 定義:
addLayoutComponent、インタフェースLayoutManager2- パラメータ:
comp- コンポーネントconstraints- 制約
-
preferredLayoutSize
指定されたターゲット・コンテナ内にコンポーネントがある場合に、このレイアウトの推奨サイズを返します。- 定義:
preferredLayoutSize、インタフェースLayoutManager- パラメータ:
target-配置する必要があるコンテナ- 戻り値:
- サイズ>= 0かつ<= Integer.MAX_VALUE
- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合- 関連項目:
-
minimumLayoutSize
指定されたターゲット・コンテナに含まれているコンポーネントのレイアウトに必要な最小寸法を返します。- 定義:
minimumLayoutSize、インタフェースLayoutManager- パラメータ:
target-配置する必要があるコンテナ- 戻り値:
- サイズ>= 0かつ<= Integer.MAX_VALUE
- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合- 関連項目:
-
maximumLayoutSize
ターゲット・コンテナに含まれているコンポーネントをレイアウトするときに使用できる、最大の寸法を返します。- 定義:
maximumLayoutSize、インタフェースLayoutManager2- パラメータ:
target-配置する必要があるコンテナ- 戻り値:
- サイズ>= 0かつ<= Integer.MAX_VALUE
- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合- 関連項目:
-
getLayoutAlignmentX
public float getLayoutAlignmentX(Container target) コンテナのX軸方向の配置を返します。 ボックスが水平方向である場合は、デフォルトの配置が返されます。 そうでない場合は、子をX軸に沿って配置するのに必要な配置が返されます。- 定義:
getLayoutAlignmentX、インタフェースLayoutManager2- パラメータ:
target- コンテナ- 戻り値:
- 配置>= 0.0fかつ<= 1.0f
- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合
-
getLayoutAlignmentY
public float getLayoutAlignmentY(Container target) コンテナのY軸方向の配置を返します。 ボックスが垂直方向である場合は、デフォルトの位置合わせ用の値が返されます。 そうでない場合は、子をY軸に沿って配置するのに必要な位置合わせ用の値が返されます。- 定義:
getLayoutAlignmentY、インタフェースLayoutManager2- パラメータ:
target- コンテナ- 戻り値:
- 配置>= 0.0fかつ<= 1.0f
- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合
-
layoutContainer
public void layoutContainer(Container target) 指定されたコンテナを配置する必要があるときにAWT によって呼び出されます。- 定義:
layoutContainer、インタフェースLayoutManager- パラメータ:
target- レイアウトするコンテナ- スロー:
AWTError- ターゲットがBoxLayoutコンストラクタに指定されたコンテナでない場合
-