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 :
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.
employeesTable = new JTable();
employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0); } });
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é.
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 :
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() } });
deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { getConfirmDialog().setVisible(true); } });
Liez la zone de texte de la boîte de dialogue Confirmation de la suppression pour afficher le prénom de l'employé à supprimer :
La zone de texte est désormais liée à la colonne firstName de la ligne sélectionnée dans la table employeesTable.
Liez le bouton Oui pour appeler la méthode removeEmployee(java.lang.Integer) sur le service Web :
Cet état de composant signifie que le bouton Oui est toujours activé car son état n'a pas besoin d'être modifié.
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 :
Important : Vous ajoutez l'événement au programme de liaison du bouton et non au bouton.
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) {} });
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.