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