appendix> Component>Container TOPUPPREVNEXT

java.awt.Container

【主な機能】

コンポーネントを配置するための四角い枠です。
コンテナにコンポーネントを追加(add) すると順番をつけて管理されます。 実際にどのように表示されるかはレイアウトマネージャによって決まります。

【コンストラクタ】

コンストラクタ機能
Container ( ) コンテナを生成します。

【よく使われるメソッド】

メソッド機能
Component add ( Component comp ) コンポーネント comp をこのコンテナの最後に追加します。
コンテナのレイアウトが FlowLayout の場合、左から右に順に配置されます。 コンテナの形状が変更されて横方向に配置できなくなると自動的に折り返されて表示されます。
例1 および FlowLayout を参照してください。
コンテナのレイアウトが GridLayout の場合、左から右へ、上から下へと配置されます。
GridLayout を参照してください。
Component add (
Component comp ,
String constraint )
BorderLayout のコンテナにコンポーネント comp を追加します。 例2参照
constraintには、以下の定数を指定します。
BorderLayout.NORTH 上辺に配置
BorderLayout.WEST 左辺に配置
BorderLayout.CENTER 中央に配置
BorderLayout.EAST 右辺に配置
BorderLayout.SOUTH 下辺に配置
Component add (
String name ,
Component comp )
BorderLayout のコンテナに コンポーネントを add する古いやり方です。 上欄の方法がお勧めです。 例4参照
Component add (
Component comp ,
Object constraint )
GridBagLayout のコンテナにコンポーネントを追加します。 GridBagLayout を参照してください。
void setLayout ( LayoutManager mgr ) このコンテナのレイアウトマネージャを指定します。

【例1】

FlowLayout のコンテナに add する例。

プログラム ContainerDemo2.java

実行結果

ContainerDemo2-1.jpg

ウィンドウを縦長にしてみると、以下のようになります。

ContainerDemo2-2.jpg

ContainerDemo2-3.jpg

【例2】

BorderLayout のコンテナに add する例。

プログラム ContainerDemo3.java

実行結果

ContainerDemo3-1.jpg

【例3】

例2では境界がはっきりしませんので、枠を付けてみましょう。
また、 JLabel が広がった際に、 文字列が左右の中央に来るように JLabel の生成時に SwingConstants.CENTER を指定します。

プログラム ContainerDemo3x.java

実行結果

ContainerDemo3x-1.jpg

ウィンドウを広げてみましょう。

ContainerDemo3x-2.jpg

NORTH と SOUTH は幅が、 WEST と EAST は高さが広がります。

【例4】

BorderLayout に add する古いやり方。 例2の方法がお勧めです。

プログラム ContainerDemo4.java

実行結果

ContainerDemo4-1.jpg

実行結果は例2と同じです。

【例5】

addsetLayoutremove の使用例

プログラム ContainerDemo1.java

実行結果

DOS画面

実行直後

3秒後

6秒後

9秒後

12秒後

15秒後

実行直後

3秒後

6秒後

9秒後

12秒後

15秒後


更新日:2004-10-29