< 前へ | 次へ >

演習 2.4: アクション・バインダーに「Update」ボタンをバインドする

Java ビジュアル・エディターは、 ボタンをクリックするとデータ・ソース上のサービスを呼び出すためのアクション・バインダーを提供しています。 たとえば、「Update」ボタンをクリックした場合、このアプリケーションは、 詳細フィールドに入力された変更を元に、Web サービスの modifyEmployee() メソッドを 実行する必要があります。この演習では、アクション・バインダーに「Update」ボタンをバインドします。

「Update」ボタンをバインドするには、以下のようにします。
  1. デザイン域で「Update」ボタンを選択し、 「バインド」タブをクリックして「コンポーネント・アクションのバインディング」ダイアログ・ボックスを開く。

    「Update」ボタン上の「バインド」タブ

  2. ソース・タイプ」フィールドで、「Web サービス」を選択する。
  3. データ・ソース」フィールドで、「webServiceDataSource」を選択する。
  4. ソース・サービス」リストから、「modifyEmployee(directory.service.FullEmployeeRecord)」を選択する。
  5. 名前」フィールドが自動的に modifyEmployeeAction に変わる。 このデフォルトを受け入れます。
  6. 引数」フィールドで、「selectedEmployeeRecord」を選択する。
  7. modifyEmployee() メソッドは、従業員のフル・レコードを引数として取るため、 「プロパティー」フィールドは空白にしておく必要があります。
  8. ボタンの「初期状態」を「無効」に設定する。

    「Update」ボタン用の「コンポーネント・アクション・バインディング」ダイアログ・ボックス

  9. ボタンの状態をどのように変化させるのかを定義するために、 「有効化の規則」をクリックする。 引数の内容が変更されたときにのみボタンが使用可能になり、 それ以外の場合には使用不可になるように指定します。 「OK」をクリックします。

    「Update」ボタン用の「有効化の規則」ダイアログ・ボックス

    つまり、「Update」ボタン は、selectedEmployeeRecord の内容が変更されるまで使用不可になります。 言い換えれば、selectedEmployeeRecord にバインドされているいずれかの詳細テキスト・フィールドの 1 つに新しい値を入力すると、 バインダーはボタンをすぐに使用可能にします。新規レコードを選択するか、 「Update」をクリックすると、ボタンは再び使用不可になります。

  10. OK」をクリックする。
新規の SwingDataServiceAction バインダーが「Update」ボタンに対して追加されます。 このボタンをデザイン域で選択すると、 ビジュアル・エディターは、このボタンが Web サービス・データ・ソースにバインドされていることを示す線を引きます。 ピンクの点線の矢印が selectedEmployeeRecord オブジェクトからこの線を指します。 この矢印は、selectedEmployeeRecord がこのサービスに対する呼び出しの引数であることを示しています。

演習のチェックポイント

これで、アプリケーションを実行すると、従業員レコードを更新できます。

テーブルにある従業員を選択し、ラストネームを変更します。 ラストネームを変更すると、「Update」ボタンがすぐに使用可能になります。 「Update」をクリックすると、modifyEmployee サービスが呼び出され、その従業員が更新されます。 新規ラストネームが従業員テーブルに反映されます。
< 前へ | 次へ >