この課題を始める前に、「」を完了してください。

この課題では、 アプリケーションをプログラムして、従業員レコードを削除します。 次の項目は、使用するアプリケーションに必要な動作の説明です。

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

  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, 2004. All Rights Reserved.