Avant de commencer cet exercice, vous devez terminer .

Dans cet exercice, vous allez programmer l'application pour supprimer un enregistrement d'employé. La liste suivante décrit le comportement à utiliser par l'application :

Pour ajouter ce comportement, effectuez les étapes suivantes présentées dans cet exercice :

  1. Programmez le bouton Supprimer de sorte qu'il soit activé ou désactivé selon si une ligne est sélectionnée ou non dans la table
  2. Programmez la boîte de dialogue Confirmation de la suppression de sorte qu'elle s'ouvre lorsque vous cliquez sur le bouton Supprimer
  3. Liez la zone de texte de la boîte de dialogue Confirmation de la suppression
  4. Liez le bouton Oui pour l'exécution de la suppression
  5. Ajoutez un événement pour masquer la boîte de dialogue Confirmation de la suppression une fois l'employé supprimé

1. Programmez le bouton Supprimer de sorte qu'il soit activé ou désactivé selon si une ligne est sélectionnée ou non dans la table

Pour programmer le bouton Supprimer de sorte qu'il soit activé ou désactivé, ajoutez à la table un programme d'écoute qui active le bouton lorsqu'une ligne est sélectionnée.

  1. Sélectionnez employeesTable dans la vue Beans Java. La vue source met en évidence la ligne suivante :
    employeesTable = new JTable();
  2. Immédiatement à la suite de cette ligne, ajoutez un nouvel événement ListSelectionListener et valueChanged dans employeesTable:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. Une fois ces lignes de code ajoutées, l'éditeur source les signale comme étant des erreurs tant que ListSelectListener et ListSelectionEvent ne sont pas importés. Pour ajouter les importations requises, cliquez sur Source > Organisation des importations dans le menu principal. Les lignes suivantes sont ajoutées à la section des importations de la classe :
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    Maintenant, lorsqu'une ligne est sélectionnée dans la table, le bouton Supprimer est activé.

2. Programmez la boîte de dialogue Confirmation de la suppression de sorte qu'elle s'ouvre lorsque vous cliquez sur le bouton Supprimer

Ajoutez un événement actionPerformed au bouton Supprimer et programmez l'événement de sorte qu'il ouvre la boîte de dialogue Confirmation de la suppression :

  1. Cliquez à l'aide du bouton droit de la souris sur le bouton Supprimer et sélectionnez Evénements > actionPerformed. Les lignes de code suivantes s'ajoutent à la méthode getDeleteButton() :
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {    
    		System.out.println("actionPerformed()"); // TODO Raccord d'événement généré automatiquement actionPerformed()
    	}
    });
  2. Remplacez ce code généré par le texte suivant, qui affiche la boîte de dialogue Confirmation de la suppression lorsque vous cliquez sur le bouton :
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {    
    		getConfirmDialog().setVisible(true);
    	}
    });

3. Liez la zone de texte de la boîte de dialogue Confirmation de la suppression

Liez la zone de texte de la boîte de dialogue Confirmation de la suppression pour afficher le prénom de l'employé à supprimer :

  1. Dans la vue Beans Java ou dans la zone de conception, sélectionnez la zone de texte employeeToDeleteField, puis cliquez sur l'onglet Lier.

    Boîte de dialogue Confirmation de la suppression

  2. Dans la boîte de dialogue des liaisons de données de zone, sélectionnez l'objet de données selectedEmployeeRecord et la zone firstName, puis cliquez sur OK.

    La zone de texte est désormais liée à la colonne firstName de la ligne sélectionnée dans la table employeesTable.

    Boîte de dialogue Confirmation de la suppression après une liaison

  3. Pour vous assurer que cette zone est en lecture seule, affectez la valeur false à la propriété autoEditable du programme de liaison de la zone.

4. Liez le bouton Oui pour l'exécution de la suppression

Liez le bouton Oui pour appeler la méthode removeEmployee(java.lang.Integer) sur le service Web :

  1. Sélectionnez le bouton Oui, puis cliquez sur l'onglet Lier pour ouvrir la boîte de dialogue des liaisons d'action de composant.
  2. Cliquez sur OK.

5. Ajoutez un événement pour masquer la boîte de dialogue Confirmation de la suppression une fois l'employé supprimé

Dans cette étape, vous ajoutez un événement au programme de liaison du bouton Oui (mais pas au bouton Oui). Vous souhaitez que la boîte de dialogue Confirmation de la suppression soit fermée après le retrait de l'employé, c'est à dire une fois que le programme de liaison a appelé le service sur la source de données.

Ajoutez un événement au programme de liaison du bouton Oui pour masquer la boîte de dialogue Confirmation de la suppression une fois que le programme de liaison a terminé son action :

  1. Cliquez sur le bouton Oui.
  2. A l'aide du bouton droit de la souris, cliquez sur l'icône du programme de liaison du bouton Oui et sélectionnez Evénements > Ajouter des événements.

    Important : Vous ajoutez l'événement au programme de liaison du bouton et non au bouton.

  3. Développez le noeud actionBinder et sélectionnez afterActionPerformed.

    Boîte de dialogue Ajout d'un événement du programme de liaison du bouton Oui

  4. Cliquez sur Fin. Le raccord d'événement suivant est ajouté à la méthode 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. Remplacez le code généré par le texte suivant :
    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) {} 
    });

    Ce code d'événement masque la boîte de dialogue Confirmation de la suppression une fois l'action du programme de liaison effectuée.

A présent, lorsque vous exécutez l'application vous pouvez sélectionner un employé dans la table, cliquer sur le bouton Supprimer puis sur Oui pour confirmer la suppression. L'enregistrement d'employé sera supprimé de l'annuaire et la liste des employés reflétera cette suppression.

Vous êtes désormais prêt à passer à l'exercice suivant : .

Conditions d'utilisation | Appréciations en retour
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.