Antes de empezar este ejercicio, debe completar el .
En este ejercicio, programará la aplicación para que suprima un registro de empleado. La lista siguiente describe el comportamiento que debe tener la aplicación:
Para añadir este comportamiento, siga los pasos de este ejercicio:
Para programar que el botón Suprimir se habilite o inhabilite, añada un escuchador a la tabla que habilita el botón cuando se selecciona una fila:
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;Ahora, cuando se selecciona una fila de la tabla, se habilita el botón Suprimir.
Añada un evento actionPerformed al botón Suprimir y programe el evento para abrir el recuadro de diálogo Confirmar supresión:
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() } });
deleteButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { getConfirmDialog().setVisible(true); } });
Enlace el campo de texto del recuadro de diálogo Confirmar supresión para visualizar el nombre del empleado que debe suprimirse:
Ahora, el campo de texto está enlazado a la columna firstName de la fila seleccionada de employeesTable.
Enlazar el botón Sí para llamar el método removeEmployee(java.lang.Integer) en el servicio Web:
Este estado de componente significa que el botón Sí siempre estará habilitado puesto que no hay necesidad de cambiar el estado.
En este paso se añade un evento al enlazador del botón Sí (no al mismo botón Sí). Lo que se persigue es que el recuadro de diálogo Confirmar supresión se cierre después de eliminar el empleado, lo que significa después de que el enlazador haya llamado satisfactoriamente al servicio en el origen de datos.
Añada un evento al enlazador para el botón Sí para ocultar el recuadro de diálogo Confirmar supresión después de que el enlazador finalice la acción:
Importante: está añadiendo el evento al enlazador del botón, no al botón mismo.
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) {} });
Este código de evento oculta el recuadro de diálogo Confirmar supresión después de realizar la acción del enlazador.
Ahora, cuando ejecute la aplicación , puede seleccionar un empleado en la tabla, pulsar el botón Suprimir y pulsar Sí para confirmar la supresión. El registro de empleado se eliminará del directorio y la lista de empleados reflejará la eliminación.