ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Framework Swingアプリケーションの開発
12c (12.1.3)
E59440-01
  目次へ移動
目次

前
 
次
 

2 ADF Swingフォームおよびパネルの作成

この章では、デザインタイム・ウィザードを使用してADF Swingフォームおよびパネルを作成する方法について説明します。このウィザードは、ビジネス・サービス・データ・コレクションにバインドされている標準のJFC/Swingコンポーネントを使用し、JavaによってADF Swingフォームを表示するUIクライアントを構築する際に役立ちます。

この章の内容は次のとおりです。

2.1 ADF Swingフォームおよびパネルの作成について

データ参照パネルには、ユーザーがデータを表示および編集できるコントロールが表示されます。したがって、それには、フィールドとして宣言されてインスタンス化されたコントロールのセットが含まれています。データ参照パネルは、次のように(setBindingContext()コールを介して)親フレームまたはパネルからそのパネル・バインディングを受け取ります。

panel.setBindingContext(panelBinding.getBindingContext());

親コンテナによって、データ参照パネルおよびそのパネル・バインディングが作成された後、jbInit()が呼び出されます。jbInit()メソッド内で、コントロールが属性にバインドされます。

例2-1では、textFieldDeptNameは、基礎となるビジネス・サービスのDepartmentName属性にバインドされているJTextFieldコンポーネントであり、識別子DepartmentNameは、PageDef.xmlファイル内の定義への参照です(このファイルによってバインディング・コンテナが定義されます)。バインディング・コンテナは、イテレータ・バインディングのリストを保持します。各イテレータ・バインディングは、ビュー・オブジェクト・インスタンスおよび(オプションの)行セット・イテレータを指定します。

例2-1 DepartmentName属性にバインドされたJTextFieldコンポーネント

textFieldDeptName.setDocument((Document)panelBinding.bindUIControl
                                   ("DepartmentName", textFieldDeptName));

実行時に、setDocument()が呼び出されると、ADF Swingが、指定されている名前(DepartmentName)によってコントロール・バインディングを見つけます。そのフォームのバインディング・コンテキストでそれが見つかると、ADF Swingは、そのコントロール・バインディングの関連付けられたイテレータ・バインディングを使用して、その値にアクセスします。

2.1.1 ADF Swingデザインタイム・ウィザード

機能的には、ADF Swingは、デザインタイムとランタイムに分かれています。デザインタイムは、一連のウィザードおよびダイアログを通してJDeveloper IDEと完全に統合されており、JDeveloperを使用してADF Swingアプリケーションをすばやく生成できます。ADF Swingデザインタイムは、ADF Swingランタイムへのフックが含まれたコードを生成します。

ADF Swingウィザードおよびダイアログは、ADF SwingランタイムAPIの完全なコマンドなしで使用できます。デザインタイムは、ビジネス・サービス・データ・コレクションにバインドされている標準のJFC/Swingコンポーネントを使用して、ADF Swingフォームを表示するデスクトップ・アプリケーションを構築する際に役立ちます。ADF Swingデザインタイムを使用し、標準Swingコントロールに追加するコントロール・バインディングによって、ADF Swingフォームで、ビジネス・コンポーネント上の値を取得および設定できます。

次リストのADF Swingウィザードおよびダイアログは、JDeveloper IDEとともに、ADF Swingアプリケーションまたはアプレットをすばやく構築、実行およびテストするために役立ちます。後で、より高度なコントロールおよびJavaコードを追加してアプリケーションを拡張することで、ADF Swingフォームを変更できます。

  • ADF Swingフォームの作成

  • ADF Swingパネルの作成

  • ADF Swingの空のフォームの作成

  • ADF Swingの空のパネルを作成

  • Java Web Startファイルの作成

2.1.2 通常のADF Swingフォーム

ADF Swingフォームがクライアント・マシンにデプロイされている場合、ユーザーはそれを使用してフォーム内のデータを表示および操作できます。図2-1に、フレーム・ウィンドウに表示されているADF Swingフォームの例を示します。

図2-1 一般的なADF Swingフォーム

この図は周囲のテキストで説明しています

フォームの上部にはメニュー・バーがあります。メニュー・バーの下には、マスター表のデータのナビゲーションを制御するナビゲーション・バーがあります。フォームの下部にあるナビゲーション・バーで、ユーザーは、ディテール表を移動および相互作用できます。

この例では、マスター表はOrders表です。いくつかのデータバインドされたテキスト・フィールド・コントロールは、Orders表の列を表し、ORDER_ID、ORDER_DATE、ORDER_SHIPPED_DATEおよびORDER_TOTALを表示します。このフォームは、データバインドされたグリッド・コントロールを使用して、ディテールOrderItems表のデータを表示します。

データが「Order Id」フィールドに入力されると、ADF Swingフォームは、Orders表とOrderItems表の間のマスター/ディテール・アソシエーションを使用して、グリッド・コントロールに表示されるデータを見つけます。グリッド・コントロールに表示されるディテール表の列は、ORDER_ID、PRODUCT_ID、QUANTITYおよびUNIT_PRICEです。これで、フォームに表示されるデータに関するステータスを表示するステータス・バーがフォームに含まれるようになります。

2.1.3 ADF Swingフォームでのナビゲーション

表2-1は、ADF Swingフォームと相互作用するためにナビゲーション・バーを使用して実行できるアクションを示しています。

表2-1 ナビゲーション・アクション

実行するアクション クリックするもの

フォーム内のデータ間の移動(先頭、前、次、最後)

この図は周囲のテキストで説明しています


選択した行の下の行へのデータの挿入

この図は周囲のテキストで説明しています


選択した行の削除

この図は周囲のテキストで説明しています


データベースへの変更を保存

この図は周囲のテキストで説明しています


フォーム内で行った変更を元に戻す

この図は周囲のテキストで説明しています

検索モードをサポートするかしないか、パネルの動作の切り替え。検索モードでは、パネルを使用してパラメータを入力し、クエリを変更します。

この図は周囲のテキストで説明しています


パネルと関連付けられた問合せの実行。パネルが検索モードを使用するように設定されている場合、これによって例による問合せが実行されます。

この図は周囲のテキストで説明しています



2.2 ADF Swingパネルおよびフォームの作成手順

ADF SwingアプリケーションのADF Swingパネルおよびフォームを作成する手順は、他のADFクライアント・テクノロジを使用してユーザー・インタフェースを作成する手順に似ています。主な違いは、コントローラに基づいたページ・フローを作成しないことと、ADF SwingウィザードなどいくつかのADF Swing固有の編集ツールがあることです。

  1. アプリケーション・ワークスペースを作成し、「ADF Javaデスクトップ・アプリケーション」アプリケーション・テンプレートを選択します。

    詳細は、第1.2項「Oracle ADFと連携するデスクトップ・アプリケーションの作成」を参照してください。

  2. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

  3. ADF Swingパネルまたはフォームをユーザー・インタフェース・プロジェクトに追加します。これを実行する方法はいくつかあります。

    • 空のADF Swingフォームをユーザー・インタフェース・プロジェクトに追加します。

      詳細は、第2.9項「空のADF Swingフォームの作成方法」を参照してください。

    • ADFビジネス・コンポーネント・プロジェクトを作成します。

    • ADFビジネス・コンポーネントを使用している場合、選択したビュー・オブジェクトおよび属性にすでにバインドされているADF Swingフォームを追加できます。

      詳細は、第2.1.1項「ADF Swingデザインタイム・ウィザード」を参照してください。

    • ADFビジネス・コンポーネントを使用している場合、ビュー・オブジェクトおよび属性にすでにバインドされているADF Swingパネルを、ユーザー・インタフェース・プロジェクトに追加できます。

  4. Javaビジュアル・エディタでフォームまたはパネルを開きます。

  5. 「コンポーネント」ウィンドウを使用して、データバインドされないSwingコントロール(たとえば、JScrollPaneなどのレイアウト・コンポーネント)を挿入します。

  6. 「データ・コントロール」パネルを使用して、データバインドされたUIコンポーネントをADF Swingフレームまたはパネルに挿入します。

  7. 「構造」ウィンドウを使用して、ページのUIコンポーネントとデータ・バインディングを参照します。

  8. 「プロパティ」ウィンドウを使用して、ページのUIコンポーネントとデータ・バインディングの属性を変更します。

  9. ADFバインディング・エディタを使用して、バインドされたコントロールの特性を変更します。

  10. すべての編集が完了したら、ユーザー・インタフェース・プロジェクトを構築します。

  11. JDeveloperを使用してアプリケーションを実行するかデバッグします。

  12. ユーザー・インタフェース・プロジェクトをデバッグしたら、JDeveloperの統合WebLogic ServerおよびJava Web Startアプリケーション・デプロイメント・テクノロジを使用してデプロイメントをテストできます。Java Web Startによって、ユーザーはWebブラウザを使用してアプリケーションおよびアプレットをダウンロードでき、そのアプリケーションはWebブラウザを必要とせずにクライアント上で完全に実行されます。

    詳細は、http://www.oracle.com/technetwork/java/javase/overview-137531.htmlを参照してください。

  13. 生成されたWeb Application Archive (WAR)ファイルを使用して本番Webサーバーに本番ADF Swingアプリケーションおよびビジネス・サービスをデプロイします。

  14. クライアント・マシンにインストールされているJava Web Startで、ユーザーは、アプリケーションを簡単にダウンロードおよび起動できます。Webサーバー上のアプリケーションに対して行われた更新は、Java Web Startによって、ユーザーがそのアプリケーションを起動するたびに処理されます。

2.3 ADF Swingフォーム作成時の処理内容

ADF Swingフォームの作成ウィザードを使用して、ADFビジネス・コンポーネント・データ・モデルに基づいたマスターおよびディテール・パネルを使用するADF Swingアプリケーションを生成すると、ウィザードによってADF Swingフレーム内にコンテナ・パネルが生成されます。このパネルは、いくつかのデータ・パネルをひとまとめにグルーブ化するため、レイアウト・パネルと呼ばれます。レイアウト・パネルは、1つ以上のデータ参照パネル用のUIコンテナとして機能するだけでなく、その共有バインディング・コンテキストを通して、含まれているデータ・パネルに対するデータ・コンテキストを保持できます。


注意:

レイアウト・パネルは、ADF Swingフォームの作成ウィザードによって生成されますが、ADF Swingアプリケーションの必須の部分ではありません。ここでそれについて説明するのは、主に、ADF Swingアプリケーションが、共有バインディング・コンテキストを通してデータ参照パネル間のデータ・コンテキストを保持する方法を示すためです。


アプリケーション・フレームからのバインディング・コンテキストは、例2-2に示すように、そのパネルのsetBindingContext()メソッドへのコールによって、それに含まれているADF Swingパネルに渡すことができます。

例2-2 ADF Swingパネルへのバインディング・コンテキストの受渡し

// get the binding context from the frame
BindingContext _bctx = panelBinding.getBindingContext(); 
// pass the context to the first child panel
dataPanel.setBindingContext(_bctx); 
 
//alternatively you can use
dataPanel.setBindingContext(panelBinding.getBindingContext());

2.4 ADF Swingのコード生成に関する必知事項

「新規ギャラリ」の「ADF Swing」セクションでADF Swingウィザードを実行すると、ウィザードを使用して次のものを生成できます。

このウィザードによって、データを表示するための標準Swingコンポーネントが含まれているADF Swingフォームが生成されます。ADF Swingウィザードの1つを実行する前に、コード生成がこれらのコンポーネントに対して機能する方法の局面を変更できます。特に、「プリファレンス」ダイアログのADF Swingページでコード生成オプションを選択できます。

次のことを指定できます。

2.5 ビジネス・コンポーネントの属性設定に関する必知事項

データ・モデル・プロジェクトで、個々のビュー・オブジェクト属性に関する次のフラグを設定することによって、フォームでの特定の属性の問合せまたは編集を可能にするかどうかを指定できます。

2.6 クライアント・データ・モデルの定義の作成方法

ADF Swingアプリケーションには、ADFビジネス・コンポーネント・ビュー・オブジェクトに接続するためにクライアント・データ・モデル定義が必要です。ADFビジネス・コンポーネント・クライアント・データ・モデル定義の作成ウィザードを使用して、1つ以上のクライアント・データ・モデル定義をDataBindings.cpxユーザー・インタフェース構成ファイルに追加します。


注意:

JDeveloperによって、最近保存されたデータ・モデル定義に基づいていくつかのアプリケーション・ライブラリが更新されます。データ・モデル定義を作成または編集するが、異なるデータ・モデル定義でプロジェクトを実行する場合は、次の説明のように目的のデータ・モデル定義をADFビジネス・コンポーネント・クライアント・データ・モデル定義の作成ウィザードで開き、それを保存する必要があります。このアクションによって、適切なクラスが生成されます。


作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    クライアント・データ・モデルを定義するには、最初にADFビジネス・コンポーネント・アプリケーション・モジュールでプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

新しいユーザー・インタフェース・プロジェクトに対するクライアント・データ・モデル定義を作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

    ADF Swingフォーム・ウィザードおよびADF Swingパネル・ウィザード内でADFビジネス・コンポーネント・クライアント・データ・モデル定義ウィザードを起動する必要があります。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を選択し、「フォーム」または「パネル」をダブルクリックします。

  3. 新しいフォームまたはパネルのウィザードの「データ・モデル」ページで、「新規」をクリックします。

    かわりに、起動したADF Swingウィザードを完了して、フォームまたはパネルを作成することもできます。また、生成したフォームまたはパネルをプロジェクトで使用しない場合は、それらを削除できます。新しいDataBindings.cpx構成ファイルは残ります。

  4. ADFビジネス・コンポーネント・クライアント・データ・モデル定義ウィザードで、目的のアプリケーション・モジュールおよびランタイム構成を選択します。

  5. 「終了」をクリックし、変更を新しいDataBindings.cpx構成ファイルに保存します。

既存のユーザー・インタフェース・プロジェクトで、クライアント・データ・モデル定義を編集する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを開き、DataBindings.cpx構成ファイルを選択します。

  2. メイン・メニューから、「ウィンドウ」「構造」を選択します。

  3. 「構造」ウィンドウで、dataControlUsagesを開き、変更するデータ・コントロール定義を選択します。

  4. 必要に応じて、データ・コントロール・ノードを右クリックし、「削除」を選択します。

  5. 「プロパティ」ウィンドウで、データ・コントロール属性を編集します。

2.7 単一表のADF Swingフォームの作成方法

ADF Swingフォームの作成ウィザードを使用して、既存のADFビジネス・コンポーネント・プロジェクトのデータ・モデルから導出した単一表フォームを作成します。

作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    ADF Swingフォームでビジネス・コンポーネントを使用するには、最初にADFビジネス・コンポーネント・アプリケーション・モジュールでプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

単一表のADF Swingフォームを持つユーザー・インタフェース・プロジェクトを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を開き、「フォーム」をダブルクリックします。

  3. ADF Swingフォームの作成ウィザードの「フォームのタイプ」ページに、アプリケーションで使用するために事前に選択されているADF Swingフォームのタイプ「フォーム」が表示されます。

    アプレットを作成する場合は、タイプ「アプレット」を選択します。

  4. 「フォームのタイプ」ページで、「単一表」を選択し、「次へ」をクリックします。

  5. 選択を行ってフォームの外観を定義します。

  6. 「データ・モデル」ページで、既存のデータ・モデル定義を選択するか、「新規」をクリックして開発対象のアプリケーション・モジュールを指定するデータ・モデル定義を作成します。

  7. 「次へ」をクリックします。

  8. 残りのページでは、フォームに表示されるデータを指定するための適切な選択を行います。

  9. 「終了」をクリックします。

2.8 マスター/ディテールのADF Swingフォームの作成方法

マスター/ディテール関係は、ADFビジネス・コンポーネントのデータ・モデルに定義されている2つ以上のビュー・オブジェクト間のアソシエーションです。これらのアスター/ディテール関係に依存するADF Swingフォームを生成できます。マスター・フォームの値によって、どのディテール・レコードが表示されるのかが決定されます。

ADFビジネス・コンポーネント・データ・モデル内で定義できるマスター・ディテール関係のタイプは次のとおりです。

このタイプのADF Swingフォームを生成する最も簡単な方法は、ADF Swingフォーム・ウィザードを起動し、ウィザード内で「マスター/ディテール表」を選択することです。ウィザードを終了すると、プロジェクトに次のものが含まれるようになります。

デフォルトでは、両方のデータ・パネルに、それぞれのナビゲーション・バーが表示されます。マスター・データ・パネルに表示されるナビゲーション・バーで、ユーザーは、付随する詳細を詳細パネルに表示しながら、マスター行セットの行から行へ移動できます。また、ユーザーは、詳細データ・パネルを移動し、現在のマスターにバインドされている個々の行を表示できます。

「プリファレンス」ダイアログでADF Swingコード生成プリファレンスを設定することで、ADF Swingフォーム・ウィザードに強制的に単一ナビゲーション・バーを持つマスター/ディテール・フォームを生成させることができます。ナビゲーション・バーが1つのみのADF Swingフォームを作成すると、ビジュアル的に整って見えますが、行セットに移動するためには、ユーザーはデータ・パネル間でフォーカスを変更する必要があります。

ADF Swingフォームの作成ウィザードを使用して、既存のADFビジネス・コンポーネント・プロジェクトのデータ・モデルから導出したマスター/ディテール・フォームを作成します。

作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    ADF Swingフォームでビジネス・コンポーネントを使用するには、最初にADFビジネス・コンポーネント・アプリケーション・モジュールでプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

単一表のADF Swingフォームを持つユーザー・インタフェース・プロジェクトを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を開き、「フォーム」をダブルクリックします。

  3. ADF Swingフォームの作成ウィザードの「フォームのタイプ」ページに、アプリケーションで使用するために事前に選択されているADF Swingフォームのタイプ「フォーム」が表示されます。

    アプレットを作成する場合は、タイプ「アプレット」を選択します。

  4. 「マスター/ディテール表」を選択し、「次へ」をクリックします。

  5. 選択を行ってフォームの外観を定義します。

  6. 「データ・モデル」ページで、既存のデータ・モデル定義を選択するか、「新規」をクリックして開発対象のアプリケーション・モジュールを指定するデータ・モデル定義を作成します。

  7. 「次へ」をクリックします。

  8. 残りのページでは、フォームに表示されるデータを指定するための適切な選択を行います。

  9. 「終了」をクリックします。

2.9 空のADF Swingフォームの作成方法

「ADF Swingの空のフォームの作成」ダイアログを使用して、既存のデータ・モデル・プロジェクトのビジネス・コンポーネントからのパネル・バインディングを共有するADF Swingコードが含まれているフレームを作成します。

作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    ADF Swingフォームでビジネス・コンポーネントを使用するには、最初にビジネス・サービスの実装(たとえば、ADFビジネス・コンポーネント・アプリケーション・モジュール)でプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

空のフォームを持つユーザー・インタフェース・プロジェクトを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を開き、「空のフォーム」をダブルクリックします。

  3. 「ADF Swingの空のフォームの作成」ダイアログで、空のフォームを定義し、「OK」をクリックします。

  4. 続いて、新しい空のフォームにデータ・パネルおよびデータバインドされたコントロールを追加できます。

    詳細は、第3.3項「ADF SwingパネルへのUIコンポーネントの挿入方法」を参照してください。

2.10 空のADF Swingパネルの作成方法

ADF Swingパネルの作成ウィザードまたは「ADF Swingの空のパネルを作成」ダイアログを使用して、データ・パネルをすばやく作成できます。ADF Swingパネルの作成ウィザードで、アプリケーション内のフレームに追加できる完全なデータ・パネルを生成できますが、ADF Swingの空のパネルダイアログには、コントロール・バインディングが含まれていません。どちらのウィザードでも、ADF Swingパネル・バインディングの初期化に必要なコードが生成されます。

ユーザー・インタフェース・プロジェクトに新しいパネル・クラスを追加した後、既存のADF Swingフォームまたはパネルからパネルを追加できます。

作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    ADF Swingフォームでビジネス・コンポーネントを使用するには、最初にADFビジネス・コンポーネント・アプリケーション・モジュールでプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

ADF Swingパネルの作成ウィザードを使用して単一表データ・パネルを追加する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を開き、「パネル」をダブルクリックします。

  3. ADF Swingパネルの作成ウィザードで、パネル・コンポーネントをレイアウトするテンプレートを選択します。

  4. 「データ・モデル」ページで、既存のデータ・モデル定義を選択するか、「新規」をクリックして開発対象のアプリケーション・モジュールを指定するデータ・モデル定義を作成します。

  5. 残りのページでは、フォームに表示されるデータを指定するための適切な選択を行います。

  6. 「終了」をクリックします。

ADF Swing空のパネルダイアログを使用してADF Swingデータ・パネルを追加する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、ユーザー・インタフェース・プロジェクトを選択し、メイン・メニューから「ファイル」「新規」「ギャラリから」を選択します。

  2. 「新規ギャラリ」で、「クライアント層」「ADF Swing」を開き、「空のパネル」をダブルクリックします。

  3. 「ADF Swingの空のパネルを作成」ダイアログで、新しい空のデータ・パネルのクラス名を入力し、「OK」をクリックします。

  4. Javaビジュアル・エディタで新しいパネル・クラスを開き、コントロールを追加できます。

    詳細は、第3.3項「ADF SwingパネルへのUIコンポーネントの挿入方法」を参照してください。

完成したADF Swingデータ・パネルをアプリケーションとリンクする手順は次のとおりです。

新しいADF Swingデータ・パネルを作成した後、次のようにして、アプリケーション内のデータ・パネルを再利用できます。

2.11 「データ・コントロール」パネルからのADF Swing編集フォームの作成方法

「データ・コントロール」パネルを使用して、選択したコントロールを使用した表示されている値の編集を可能にするデータバインドされたフォームを作成できます。このフォームは、選択するデータ・コレクションのオブジェクトに対して作成されます。


注意:

「データ・コントロール」パネルは、最初にそれを開いたときは空で表示されることがあります。データ・モデル・プロジェクトをコンパイルし、そのパネルにデータ・オブジェクトを移入します。


作業を始める前に、次のようにします。

次のタスクを完了する必要があります。

  1. ビジネス・コンポーネントのデータ・モデル・プロジェクトを作成します。

    ADF Swingフォームでビジネス・コンポーネントを使用するには、最初にADFビジネス・コンポーネント・アプリケーション・モジュールでプロジェクトを作成する必要があります。

  2. データ・モデル・プロジェクトをコンパイルします。

    データ・モデル・プロジェクトで、そのビジネス・サービスとしてADFビジネス・コンポーネントを使用している場合、JDeveloperによってそのビジネス・サービスがADFデータ・コントロールとして登録されます。

Javaビジュアル・エディタで既存のパネルに編集可能フォームを作成する手順は次のとおりです。

  1. ウィザードを使用して空のADF Swingフォームまたはパネルを作成します。

    詳細は、第2.2項「ADF Swingパネルおよびフォームの作成手順」を参照してください。

  2. Javaビジュアル・エディタでフォームを開き、「設計」タブをクリックします。

  3. 「アプリケーション」ウィンドウで、「データ・コントロール」ヘッダーの拡張アイコンをクリックします。

  4. 「データ・コントロール」パネルで、目的のデータ・コレクションを、開いているフォームまたはパネルにドラッグします。

  5. ポップアップ・リストから編集フォームの追加を選択します。

  6. 「ADF Swing編集フォームの作成」ダイアログで、表示したくない属性を選択し、「削除」ボタンをクリックします。

  7. 必要に応じて、属性を選択し、上または下矢印をクリックし、フォーム内でのその属性の表示位置を変更します。

  8. 必要に応じて、「制御」ドロップダウンを選択し、属性値を表示するコントロールを選択します。

  9. 必要に応じて、ラベルを表示しない場合は属性に対して「ラベルの作成」を選択解除します。

    デフォルトでは、表示ラベルに属性IDが使用されます。また、ビジネス・オブジェクト属性に対してコントロール・ヒント・ラベルが存在している場合は、属性IDのかわりにそのコントロール・ヒントがラベルとして使用されます。「ラベルの作成」を選択したままにします。

  10. 「OK」をクリックして設定を保存します。

    JDeveloperによって、編集フォームが、開いているフォームまたはパネル内に新規パネルとして作成されます。

  11. Javaビジュアル・エディタで、新しい編集フォーム・パネルのサイズを変更し、コントロールを表示します。

    編集フォームでは、柔軟なコンポーネント・レイアウトのためにJGoodies FormLayoutマネージャが使用されます。

編集フォーム・パネルのソースはファイルPanel<コレクション名>Helper.javaに、パネルのコントロール・バインディング定義はPanel<コレクション名>HelperPageDef.javaに表示されます。

フォーム内でfetchAttributeProperties()メソッドを定義することで、ADF Swingアプリケーションのパフォーマンスを向上させることができます。これにより、フォームはバッチ・モードで動作し、属性値をフェッチするようになります。詳細は、第10.4項「ADF SwingでのADFビジネス・コンポーネント属性のフェッチを制限する方法」を参照してください。

2.12 データベース・ウィンドウからのADF Swingフォームの作成方法

データベース・ウィンドウは、表示されている値を選択したコントロールによって編集可能な、データバインドされたフォームを作成するために使用します。フォームおよび必要なデータ・バインディングが、選択したデータベース表に対して作成されます。

Javaビジュアル・エディタで既存のパネルにフォームを作成する手順は次のとおりです。

  1. ウィザードを使用して空のADF Swingフォームまたはパネルを作成します。

    詳細は、第2.2項「ADF Swingパネルおよびフォームの作成手順」を参照してください。

  2. Javaビジュアル・エディタでフォームを開き、「設計」タブをクリックします。

  3. 「プロパティ」ウィンドウで、「レイアウト」ドロップダウン・リストからBorderLayoutを選択します。

    詳細は、第3.7項「空のSwingフォームでデータ・パネルをレイアウトする方法」を参照してください。

  4. 「コンポーネント」ウィンドウで、Swingコンテナページを開き、JScrollPaneコンポーネントを選択します。

  5. Javaビジュアル・エディタで空のフォーム内をクリックし、スクロール・ペインをそのデフォルト・サイズでドロップします。

  6. スクロール・ペインのサイズを変更します。

  7. 「ウィンドウ」メニューから、「データベース」→「データベース」を選択します。

  8. 「データベース」ウィンドウで、目的のデータベース表を、スクロール・ペインの上部にある開いているフォームまたはパネルにドラッグします。

  9. 編集可能フォームを作成する場合、ポップアップ・リストから編集フォームの追加を選択します。

    詳細は、第2.11項「「データ・コントロール」パネルからのADF Swing編集フォームの作成方法」を参照してください。

  10. かわりに、子の追加を選択することで空のフォームに特定のコンポーネントを追加します。

    詳細は、第3.3項「ADF SwingパネルへのUIコンポーネントの挿入方法」を参照してください。

データ・パネルまたはフォームをレイアウトした後、フォーム内でfetchAttributeProperties()メソッドを定義することで、ADF Swingアプリケーションのパフォーマンスを向上させることができます。これにより、フォームはバッチ・モードで動作し、属性値をフェッチするようになります。詳細は、第10.4項「ADF SwingでのADFビジネス・コンポーネント属性のフェッチを制限する方法」を参照してください。