コンテナについて

コンテナでは、その他のコンポーネントが保持および管理されます。JDeveloperでフォームをレイアウトしてUIを設計する場合、コンテナを使用します。一般的なコンテナのクラスには次の2つがあります。

コンテナもコンポーネントです。つまり、プロパティを取得して設定し、メソッドをコールし、その他のコンポーネントと同様にイベントに応答して、コンテナと対話します。

ウィンドウ

ウィンドウは、枠線、タイトル・バーまたはメニュー・バーが含まれない、スタンドアロンのトップレベル・コンテナ・コンポーネントです。ウィンドウを使用してポップアップ・ウィンドウを実装できますが、通常は次に示すいずれかのようなウィンドウのサブクラスをUIで使用します。

ウィンドウ 説明

枠線およびタイトルが含まれるトップレベル・ウィンドウ。フレームには、コントロール・メニュー、ウィンドウを最小化および最大化するボタン、ウィンドウをサイズ変更するコントロールなどの標準ウィンドウ・コントロールが含まれます。メニュー・バーも含まれる場合があります。

ダイアログ・ボックス

フレームに類似したポップアップ・ウィンドウですが、親が必要です。ダイアログ・ボックスは、ユーザーから入力データを取得したり、警告メッセージを表示する際に使用されます。メニュー・バーが含まれる場合もあります。ダイアログ・ボックスは通常一時的なものであり、次のいずれかのタイプになります。

モーダル: そのダイアログ・ボックスが閉じられるまで、アプリケーション内の他のウィンドウに対するユーザー入力が不可となります。

モードレス: ユーザーがダイアログ・ボックスおよびアプリケーションの両方に情報を入力できます。

パネル

パネルは、枠線またはキャプションが含まれない単純なUIコンテナであり、ボタン、チェック・ボックスおよびテキスト・フィールドなどの他のコンポーネントをグループ化するために使用されます。パネルは、フレームまたはダイアログなどの他の一部のUI内に埋め込まれています。他のパネル内にネストすることもできます。

パネル 説明

アプレット

パネルのサブクラスであり、HTMLページに埋め込んでインターネット・ブラウザまたはアプレット・ビューアで実行するプログラムを構築するために使用されます。アプレットパネルのサブクラスであるため、コンポーネントを含めることはできますが、枠線やキャプションは持てません。

軽量Swingコンテナ

JDeveloperのコンポーネント・パレット・ページから使用できる軽量Swingコンテナには、JMenuBar、JPopupMenu、JSplitPane、JScrollPane、JTabbedPaneおよびJToolbarが含まれます。これらはすべてJComponentのサブクラスです。これらのコンテナに他のコンテナおよびコンポーネントを追加し、コンポーネントとそのコンテナを様々な方法で結合して、必要なインタフェースを作成できます。

軽量コンテナ 説明

メニュー・バー

JDeveloperでは、メニュー・エディタを使用してメニュー・バーにメニューを追加し、メニューを作成します。ユーザーがJMenuオブジェクトを選択すると、その関連するJPopupMenuが表示され、ユーザーはここでいずれかのJMenuItemsを選択できます。

ポップアップ・メニュー

一連の選択肢をポップアップ表示する小さなウィンドウであり、メニュー・エディタを使用してJDeveloperで作成します。ユーザーがメニュー・バー上の項目を選択したときに表示されるメニューには、JPopupMenuが使用されます。JPopupMenuは、プルライト・メニューにも使用されます。プルライト・メニューは、これをアクティブにするメニュー項目をユーザーが選択したときに表示されます。最後に、ユーザーが指定エリア内を右クリックしたときなど、メニューの表示が必要な他のあらゆる状況でも、JPopupMenuを使用することができます。

分割ペイン

ユーザーが再配置できるディバイダによって水平または垂直に区切られている2つのペインを管理します。コンポーネントを追加するペインを選択できます。プロパティleftComponentおよびrightComponent、またはtopComponentおよびbottomComponentによってコンポーネントを指定できます。これらのプロパティで、「Left」は「Top」に相当し、「Right」は「Bottom」に相当します。したがって、配置を変更する場合、既存のコードが機能します。同じペインに対する後続の追加によって、ペインの内容が新規オブジェクトで置き換えられます。

スクロール・ペイン

JScrollBarsであるJViewportで構成されます。JViewPortは、テキスト・ファイルなどのデータソース上にウィンドウ、つまりビューポートを提供します。そのデータ・ソースは、JViewportビューによって表示されるスクロール可能クライアント(またはデータ・モデル)です。スクロール可能クライアントには任意のコンポーネントを指定できますが、JScrollPaneコンテナにコンポーネントを追加するのではなく、コンポーネント・パレットからコンポーネントをドロップすると、JDeveloperはコンポーネントをコンストラクタの一部として指定します。

JScrollPaneには、スクロール・バーおよびビューポートとともに、列ヘッダーおよび行ヘッダーを含めることができます。各ヘッダーは、rowHeaderおよびcolumnHeaderプロパティによって指定するJViewportオブジェクトです。列ヘッダー・ビューポートは自動的に左右にスクロールされ、メイン・ビューポートの左右のスクロールが追跡されます。(ただし垂直にはスクロールされません。)行ヘッダーも同様に機能します。

メイン・ビューポートの周囲に枠線を追加するには、viewportBorderプロパティを使用します。

タブ・ペイン

相互に完全に重なる複数のパネルを管理します。ユーザーは、パネルに添付されたタブ(ファイル・フォルダ上のタブなど)をクリックし、表示するパネルを選択できます。JDeveloperにタブを追加するには、コンポーネント・パレットからタブ・ペインにJPanelをドロップします。tabPlacementプロパティを使用して、コンテナの上下左右にタブを配置できます。

ツールバー

一般的に使用されるアクションまたはコントロールの表示に役立つコンポーネントを提供します。ユーザーによって別のウィンドウにドラッグアウトできます(floatableプロパティがfalseに設定されている場合を除きます)。ドラッグアウトが正しく機能するために、JToolBarインスタンスを、レイアウト・マネージャがBorderLayoutであるコンテナの4つの側面のいずれかに追加することをお薦めします。他の4つの側面のいずれにも子を追加しないでください。

Swingコンテナの詳細は、次のURLにあるSun社のWebページにアクセスしてください。

http://java.sun.com/products/jfc/tsc/articles/containers/index.html

Swingコンポーネントの詳細は、次のURLにあるSun社のWebページにアクセスしてください。

http://java.sun.com/products/jfc/tsc/articles/component_gallery/index.html


コンテナの作成
コンテナでのコンポーネントの使用
メニューの使用

アプレットの使用
レイアウト・マネージャの使用
レイアウト・プロパティを使用したUIのプロトタイプ作成