Swing-layouts
SWING-レイアウト
レイアウトとは、コンテナ内のコンポーネントの配置を指します。 別の言い方をすれば、レイアウトはコンポーネントをコンテナ内の特定の位置に配置していると言えます。 コントロールをレイアウトするタスクは、レイアウトマネージャーによって自動的に実行されます。
レイアウトマネージャー
レイアウトマネージャーは、コンテナ内のすべてのコンポーネントを自動的に配置します。 レイアウトマネージャーを使用しない場合でも、コンポーネントはデフォルトのレイアウトマネージャーによって配置されます。 手動でコントロールをレイアウトすることは可能ですが、次の2つの理由により非常に困難になります。
- コンテナ内で多数のコントロールを処理するのは非常に面倒です。
- 通常、コンポーネントを配置する必要がある場合、コンポーネントの幅と高さの情報は提供されません。
Javaには、コントロールを配置するためのさまざまなレイアウトマネージャーが用意されています。 サイズ、形状、配置などのプロパティは、レイアウトマネージャーによって異なります。 アプレットまたはアプリケーションウィンドウのサイズが変更されると、それに応じてコンポーネントのサイズ、形状、および配置も変更されます。 レイアウトマネージャは、アプレットビューアまたはアプリケーションウィンドウのサイズに適応します。
レイアウトマネージャーは、すべてのコンテナオブジェクトに関連付けられています。 各レイアウトマネージャーは、LayoutManagerインターフェイスを実装するクラスのオブジェクトです。
以下は、レイアウトマネージャーの機能を定義するインターフェイスです。
Sr.No. | Interface & Description |
---|---|
1 |
LayoutManagerインターフェイスは、クラスが実装する必要のあるメソッドを宣言します。このオブジェクトはレイアウトマネージャーとして機能します。 |
2 |
LayoutManager2は、LayoutManagerのサブインターフェースです。 このインターフェイスは、レイアウト制約オブジェクトに基づいてコンテナをレイアウトする方法を知っているクラス用です。 |
AWT Layout Managerクラス
以下は、AWTを使用してGUIを設計するときに一般的に使用されるコントロールのリストです。
Sr.No. | LayoutManager & Description |
---|---|
1 |
borderlayoutは、東、西、北、南、中央の5つの領域に収まるようにコンポーネントを配置します。 |
2 |
CardLayoutオブジェクトは、コンテナ内の各コンポーネントをカードとして扱います。 一度に表示されるカードは1つだけです。 |
3 |
FlowLayoutはデフォルトのレイアウトです。 コンポーネントを方向性フローでレイアウトします。 |
4 |
GridLayoutは、長方形グリッドの形でコンポーネントを管理します。 |
5 |
これは最も柔軟なレイアウトマネージャークラスです。 GridBagLayoutのオブジェクトは、同じサイズのコンポーネントを必要とせずに、コンポーネントを垂直、水平、またはベースラインに沿って整列します。 |
6 |
GroupLayoutは、コンテナ内にコンポーネントを配置するために、コンポーネントを階層的にグループ化します。 |
7 |
SpringLayoutは、一連の制約に従って、関連付けられたコンテナの子を配置します。 |