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:

  1. Programar el botón Suprimir para que se habilite o inhabilite en función de si se selecciona una fila de la tabla.
  2. Programar el recuadro de diálogo Confirmar supresión para que se abra al pulsar Suprimir
  3. Enlazar el campo de texto del diálogo Confirmar supresión
  4. Enlazar el botón Sí para que realice la supresión
  5. Añadir un evento para ocultar el diálogo Confirmar supresión después de suprimir el empleado

1. Programar el botón Suprimir para que se habilite o inhabilite en función de si se selecciona una fila de la tabla.

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:

  1. Seleccione employeesTable en la vista Beans Java. La vista de código fuente resalta la línea siguiente:
    employeesTable = new JTable();
  2. Inmediatamente después de esta línea, añada un nuevo ListSelectionListener y un evento valueChanged a employeesTable:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. Después de añadir estas líneas de código, el editor de código fuente las marca como errores hasta que importe ListSelectListener y ListSelectionEvent. Para añadir las importaciones necesarias, pulse Origen > Organizar importaciones en el menú principal. Las líneas siguientes se han añadido a la sección de importaciones de la clase:
    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.

2. Programar el recuadro de diálogo Confirmar supresión para que se abra al pulsar Suprimir

Añada un evento actionPerformed al botón Suprimir y programe el evento para abrir el recuadro de diálogo Confirmar supresión:

  1. Pulse el botón Suprimir con el botón derecho del ratón y seleccione Eventos > actionPerformed. Las siguientes líneas de código se añadirán al método 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. Cambie este código generado por el texto siguiente que establece la visibilidad del recuadro de diálogo Confirmar supresión cuando se pulsa el botón:
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {    
    		getConfirmDialog().setVisible(true);
    	}
    });

3. Enlazar el campo de texto del diálogo Confirmar supresión

Enlace el campo de texto del recuadro de diálogo Confirmar supresión para visualizar el nombre del empleado que debe suprimirse:

  1. En la vista Beans Java o en el área de diseño, seleccione el campo de texto employeeToDeleteField y pulse la pestaña Enlazar.

    Recuadro de diálogo Confirmar supresión antes del enlace

  2. En el recuadro de diálogo Enlaces de datos de campo, seleccione el objeto de datos selectedEmployeeRecord y el campo firstName y pulse Aceptar.

    Ahora, el campo de texto está enlazado a la columna firstName de la fila seleccionada de employeesTable.

    Recuadro de diálogo Confirmar supresión antes del enlace

  3. Para asegurarse de que este campo es de solo lectura, establezca la propiedad autoEditable para el enlazador del campo en false.

4. Enlazar el botón Sí para que realice la supresión

Enlazar el botón para llamar el método removeEmployee(java.lang.Integer) en el servicio Web:

  1. Seleccione el botón y pulse la pestaña Enlazar para abrir el diálogo Enlaces de acción de componente.
  2. Pulse Aceptar.

5. Añadir un evento para ocultar el diálogo Confirmar supresión después de suprimir el empleado

En este paso se añade un evento al enlazador del botón (no al mismo botón ). 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 para ocultar el recuadro de diálogo Confirmar supresión después de que el enlazador finalice la acción:

  1. Seleccione el botón .
  2. Pulse el botón derecho del ratón sobre el icono del enlazador del botón y seleccione Eventos > Añadir Eventos.

    Importante: está añadiendo el evento al enlazador del botón, no al botón mismo.

  3. Expanda el nodo actionBinder y seleccione afterActionPerformed.

    Recuadro de diálogo Añadir evento para el enlazador del botón Sí

  4. Pulse Finalizar. El apéndice de evento siguiente se añade al método 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. Cambie el código generado por el texto siguiente:
    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 para confirmar la supresión. El registro de empleado se eliminará del directorio y la lista de empleados reflejará la eliminación.

Ahora está preparado para pasar al próximo ejercicio: .

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.