テーブルのバインディング

ビジュアル・エディターを使用すると、Swing JTable を行データ・オブジェクトにバインドできます。

アプリケーション内に JTable がある場合は、 そのテーブルに行データ・オブジェクトのデータを取り込むためにバインドすることができます。 例えば、対象のアプリケーション内にテーブルがあり、 それに会社のすべての従業員とその従業員 ID、姓、名をリストしたいものとします。 その場合、従業員と従業員ごとのプロパティー・セットの配列を戻すサービスを使用できます (例えば、Enterprise Bean や Web サービス)。 そのサービスが提供するデータを表すデータ・ソース行オブジェクトにそのテーブルをバインドできます。 配列内のそれぞれのオブジェクトに含まれているプロパティーは、 テーブル内の従業員ごとに表示したいプロパティーより多いはずですから、 ご使用のビジュアル・テーブル内の列にマップしたいプロパティーを指定できます。
JTable を行データ・オブジェクトにバインドするときに、ビジュアル・エディターが、 適切なクラスとインターフェースを新規パッケージ内に生成し (デフォルト・パッケージ名は jve.generated ですが、これは、Java ビジュアル・エディターの設定で変更できます)、 JRowTableBinder の新規インスタンスを作成します。これは、JTable とデータ・オブジェクト間のバインディングを定義します。 次に、JRowTableBinder に組み込まれている機能の一部です。
  • テーブル内で選択された行を listen して、その選択済み行に対応する単一データ・オブジェクトを提供する。
  • 列のソートを行う。
  • プロパティーの変更通知を提供する。
  • データ・ソースを使用して、行を作成する。
  • フィルターを指定できる。 Swing プロパティー・フィルターを使用して、テーブルのコンテンツをフィルターに掛ける方法についての詳細は、 『テーブル用フィルター・バインダーの定義 』を参照してください。

JTable を行データ・オブジェクトにバインドする方法:

  1. デザイン・エリアまたは「Java Beans」ビューで、「JTable コンポーネント」を選択する。
  2. デザイン・エリア内の JTable に表示される「バインド」タブをクリックする。

    あるいは、「Java Beans」ビュー内のコンポーネントを右クリックし、 ポップアップ・メニューから「 バインディング・プロパティー」を選択することもできます。

    「テーブル・データ・バインディング」ダイアログが開きます。

  3. 「データ・オブジェクト」リストから、使用するデータ・オブジェクトを選択する。 ここで選択できる可能性のあるデータ・オブジェクトは RowDataObject または IDataObject のインスタンスです。 このテーブルにバインドできる 1 つ以上の配列プロパティーが IDataObject に含まれている場合は、 その IDataObject のみがリストに表示されます。 オブジェクト・ツリーには、これらの配列プロパティー (およびそれらをナビゲートするために必要なブランチ) のみが表示されます。

    テキスト・フィールドをバインドするためのデータ・オブジェクトがない場合は、 「新規データ・ソース・データ・オブジェクト」をクリックして、新規オブジェクトを定義できます。

    詳しくは、『新規データ・オブジェクトの作成』を参照してください。

  4. 「データ・オブジェクト・プロパティー」リストから、 テーブル列にマップするプロパティーを選択し、矢印ボタンを使って、 それらを「テーブル列」リストに移動する。
  5. 任意: 「テーブル列」リストから、それぞれのプロパティー名を選択し、 「列タイトル」の列に新規表示名を入力する。 列タイトルとして入力した値は、対象のアプリケーション内で、テーブル列ヘッダーとして使用されます。
  6. 任意: 「テーブル列」リストから、プロパティーを選択し、 上下方向の矢印ボタンを使って、列を再配列する。 「テーブル列」リストに表示される最初のプロパティーがビジュアル・テーブル内の最初の列となります。

  7. 「OK」をクリックする。

次のスクリーン・ショットは、 Web サービス・データ・ソースからデータを取得するデータ・オブジェクトにバインドされるテーブルを表しています。 テーブルがデータ・オブジェクトにバインドされていることを示す線に注目してください。 この線の途中に、JRowTableBinder を表すアイコンも含まれています。 これは、テーブルがそのバインディング・モデルとして使用します。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved. (C) Copyright IBM Japan 2005