この課題を始める前に、『』を完了しておく必要があります。

この課題では、従業員レコードを削除するように アプリケーションをプログラムします。 次のリストは、アプリケーションに使用させたい動作を説明しています。

この動作を追加するには、この課題で概要が示される次の手順を行います。

  1. テーブルの行が選択されているかいないかに基づいて、 「削除」ボタンが使用可能または使用不可になるようにプログラムする
  2. 「削除」をクリックしたときに、 「削除の確認」ダイアログ・ボックスが開くようにプログラムする
  3. 「削除の確認」ダイアログ・ボックスのテキスト・フィールドをバインドする
  4. 削除を実行するように「はい」ボタンをバインドする
  5. 従業員が削除された後、「削除の確認」ダイアログを非表示にするイベントを追加する

1. テーブルの行が選択されているかいないかに基づいて、 「削除」ボタンが使用可能または使用不可になるようにプログラムする

削除」ボタンを使用可能または使用不可になるようにプログラムするには、 行が選択されたときにボタンを使用可能にするリスナーをテーブルに追加します。

  1. 「Java Bean」ビューで、「employeesTable」を選択する。 「ソース」ビューで、次の行が強調表示されます。
    employeesTable = new JTable();
  2. この行の直後に、employeesTable で、新しい ListSelectionListener、 および valueChanged イベントを追加する。
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
       }
    });

  3. これらのコード行を追加すると、ソース・エディターは、ListSelectListener と ListSelectionEvent をインポートするまで、 それらにエラーのマークを付ける。 必要なインポートを追加するには、メインメニューで「ソース」> 「インポートの編成」をクリックします。 クラスのインポート・セクションに、以下の行が追加されます。
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    これで、テーブル内の行を選択すると、「削除」ボタンが使用可能になります。

2. 「削除」をクリックしたときに、 「削除の確認」ダイアログ・ボックスが開くようにプログラムする

actionPerformed イベントを「削除」ボタンに追加して、 「削除の確認」ダイアログ・ボックスが開くように、イベントをプログラムします。

  1. 削除」ボタンを右クリックして、 「イベント」>「actionPerformed」を選択する。 次のイベント・スタブが、getDeleteButton() メソッドに追加されます。:
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
       }
    });
  2. 生成されたスタブを次のコードに置換して、ボタンがクリックされたときに、「削除の確認」ダイアログ・ボックスが表示されるように設定する。
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		getConfirmDialog().setVisible(true);
       }
    });

3. 「削除の確認」ダイアログ・ボックスのテキスト・フィールドをバインドする

「削除の確認」ダイアログのテキスト・フィールドをバインドして、 削除する従業員のファーストネームを表示します。

  1. Java Bean ビューまたはデザイン域で、「employeeToDeleteField」テキスト・フィールドを選択して、 「バインド」タブをクリックする。

    バインディングの前の「削除の確認」ダイアログ・ボックス

  2. 「フィールド・データ・バインディング」ダイアログ・ボックスで、 selectedEmployeeRecord データ・オブジェクトと「firstName」フィールドを選択して、 「OK」をクリックする。

    これで、employeesTable の選択された行にある firstName 列にテキスト・フィールドがバインドされます。

    バインディング後の「削除の確認」ダイアログ・ボックス

  3. このフィールドが読み取り専用であるかを確認するには、 このフィールドのバインダーの「autoEditable」プロパティーを「false」に設定する。

4. 削除を実行するように「はい」ボタンをバインドする

次の手順で、Web サービス上で removeEmployee(java.lang.Integer) メソッドを呼び出すように、 「はい」ボタンをバインドします。

  1. はい」ボタンを選択し、 「バインド」タブをクリックして、「コンポーネント・アクションのバインディング」ダイアログを開く。
  2. OK」をクリックする。

5. 従業員が削除された後、「削除の確認」ダイアログを非表示にするイベントを追加する

このステップでは、イベントを (「はい」ボタンそのものにではなく) 「はい」ボタンのバインダー に追加します。 従業員が除去された後、「削除の確認」ダイアログ・ボックスが閉じるようにしたいということは、 バインダーが正常にサービスをデータ・ソースに呼び出した後で、それを行いたいということを意味します。

イベントを「はい」ボタンのバインダー にバインドして、 バインダーがアクションを終了した後で「削除の確認」ダイアログを非表示にします。

  1. はい」ボタンを選択する。
  2. はい」ボタンのバインダー・アイコンを右クリックし、 「イベント」>「イベントの追加」を選択する。

    重要: イベントは、ボタンそのものに追加するのではなく、ボタンのバインダーに追加します。

  3. actionBinder」ノードを展開して、「afterActionPerformed」を選択する。

     「はい」ボタン・バインダーのための「イベントの追加」ダイアログ・ボックス

  4. 完了」をクリックする。 次のイベント・スタブが、getRemoveEmployeeAction() メソッドに追加されます。
    removeEmployeeAction.addActionBinderListener(new jve.generated.IActionBinder.ActionBinderListener() {
    	public void afterActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {
    		System.out.println("afterActionPerformed()"); // TODO Auto-generated Event stub afterActionPerformed()
       }
    	public void beforeActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {}
    });
  5. 生成されたスタブを次のコードに置換する。:
    removeEmployeeAction.addActionBinderListener(new jve.generated.IActionBinder.ActionBinderListener() {
    	public void afterActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {
    		getConfirmDialog().setVisible(false);
       }
    	public void beforeActionPerformed(jve.generated.IActionBinder.ActionBinderEvent e) {}
    });

    このイベント・コードにより、バインダーのアクションが実行されると「削除の確認」ダイアログ・ボックスが非表示になります。

これで、 アプリケーションを実行したときに、 テーブル内で従業員を選択して、「削除」ボタンをクリックし、 「はい」をクリックして削除を確認できます。 従業員レコードは、この登録簿から除去され、従業員のリストは除去を反映したものになります。

これで、次の課題の『』に進む準備が完了しました。

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