Swing-layouts

提供:Dev Guides
移動先:案内検索

SWING-レイアウト

レイアウトとは、コンテナ内のコンポーネントの配置を指します。 別の言い方をすれば、レイアウトはコンポーネントをコンテナ内の特定の位置に配置していると言えます。 コントロールをレイアウトするタスクは、レイアウトマネージャーによって自動的に実行されます。

レイアウトマネージャー

レイアウトマネージャーは、コンテナ内のすべてのコンポーネントを自動的に配置します。 レイアウトマネージャーを使用しない場合でも、コンポーネントはデフォルトのレイアウトマネージャーによって配置されます。 手動でコントロールをレイアウトすることは可能ですが、次の2つの理由により非常に困難になります。

  • コンテナ内で多数のコントロールを処理するのは非常に面倒です。
  • 通常、コンポーネントを配置する必要がある場合、コンポーネントの幅と高さの情報は提供されません。

Javaには、コントロールを配置するためのさまざまなレイアウトマネージャーが用意されています。 サイズ、形状、配置などのプロパティは、レイアウトマネージャーによって異なります。 アプレットまたはアプリケーションウィンドウのサイズが変更されると、それに応じてコンポーネントのサイズ、形状、および配置も変更されます。 レイアウトマネージャは、アプレットビューアまたはアプリケーションウィンドウのサイズに適応します。

レイアウトマネージャーは、すべてのコンテナオブジェクトに関連付けられています。 各レイアウトマネージャーは、LayoutManagerインターフェイスを実装するクラスのオブジェクトです。

以下は、レイアウトマネージャーの機能を定義するインターフェイスです。

Sr.No. Interface & Description
1

LayoutManager

LayoutManagerインターフェイスは、クラスが実装する必要のあるメソッドを宣言します。このオブジェクトはレイアウトマネージャーとして機能します。

2

LayoutManager2

LayoutManager2は、LayoutManagerのサブインターフェースです。 このインターフェイスは、レイアウト制約オブジェクトに基づいてコンテナをレイアウトする方法を知っているクラス用です。

AWT Layout Managerクラス

以下は、AWTを使用してGUIを設計するときに一般的に使用されるコントロールのリストです。

Sr.No. LayoutManager & Description
1

BorderLayout

borderlayoutは、東、西、北、南、中央の5つの領域に収まるようにコンポーネントを配置します。

2

CardLayout

CardLayoutオブジェクトは、コンテナ内の各コンポーネントをカードとして扱います。 一度に表示されるカードは1つだけです。

3

FlowLayout

FlowLayoutはデフォルトのレイアウトです。 コンポーネントを方向性フローでレイアウトします。

4

GridLayout

GridLayoutは、長方形グリッドの形でコンポーネントを管理します。

5

GridBagLayout

これは最も柔軟なレイアウトマネージャークラスです。 GridBagLayoutのオブジェクトは、同じサイズのコンポーネントを必要とせずに、コンポーネントを垂直、水平、またはベースラインに沿って整列します。

6

GroupLayout

GroupLayoutは、コンテナ内にコンポーネントを配置するために、コンポーネントを階層的にグループ化します。

7

SpringLayout

SpringLayoutは、一連の制約に従って、関連付けられたコンテナの子を配置します。