Prima di iniziare questo esercizio, è necessario completare l'.

In questo esercizio, verrà programmata l'applicazione affinché elimini il record di un dipendente. L'elenco seguente descrive il comportamento dell'applicazione:

Per aggiungere questo comportamento, completare le seguenti istruzioni riportate in questo esercizio:

  1. Programmazione del pulsante Elimina in modo che venga abilitato o disabilitato in base alla selezione di una riga nella tabella
  2. Programmazione della finestra di Conferma eliminazione affinché venga aperta quando si fa clic su Elimina
  3. Binding del campo di testo nella finestra Conferma eliminazione
  4. Binding del pulsante Sì per eseguire l'eliminazione
  5. Aggiunta di un evento per nascondere la finestra Conferma eliminazione dopo l'eliminazione del dipendente

1. Programmazione del pulsante Elimina in modo che venga abilitato o disabilitato in base alla selezione di una riga nella tabella

Per programmare l'abilitazione e la disabilitazione del pulsante Elimina, aggiungere un listener alla tabella che abiliti il pulsante in base alla selezione di una riga:

  1. Selezionare employeesTable nella vista Bean Java. La vista di origine evidenzia la riga seguente:
    employeesTable = new JTable();
  2. Dopo questa riga, aggiungere un nuovo evento ListSelectionListener e valueChanged ad employeesTable:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. Dopo aver aggiunto le righe di codice, l'editor di origine le contrassegna come errori fino a quando non si importa ListSelectListener e ListSelectionEvent. Per aggiungere le importazioni richieste, scegliere Origine > Organizza importazioni nel menu principale. Le seguenti righe vengono aggiunte alla sezione delle importazioni della classe:
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    Quando si seleziona una riga nella tabella, il pulsante Elimina viene abilitato.

2. Programmazione della finestra di Conferma eliminazione affinché venga aperta quando si fa clic su Elimina

Aggiungere un evento actionPerformed al pulsante Elimina e programmare l'evento affinché apra la finestra di dialogo Conferma eliminazione:

  1. Selezionare il pulsante Elimina con il tasto destro del mouse e scegliere Eventi > actionPerformed. Le seguenti righe di codice vengono aggiunte al metodo 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. Modificare il codice generato nel seguente testo, per impostare la finestra Conferma eliminazione in modo che sia visibile quando si fa clic sul pulsante:
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		getConfirmDialog().setVisible(true);
    	}
    });

3. Binding del campo di testo nella finestra Conferma eliminazione

Eseguire il binding del campo di testo nella finestra Conferma eliminazione per visualizzare il nome del dipendente da eliminare:

  1. Nella vista Bean Java o nell'area di progettazione, selezionare il campo di testo employeeToDeleteField e fare clic sulla scheda Binding.

    Finestra Conferma eliminazione prima del binding

  2. Nella finestra Binding di dati campo, selezionare l'oggetto dati selectedEmployeeRecord e il campo firstName, quindi scegliere OK.

    Il campo di testo è ora associato alla colonna firstName della riga selezionata in employeesTable.

    Finestra Conferma eliminazione dopo il binding

  3. Per assicurarsi che questo campo sia di sola lettura, impostare la proprietà autoEditable per il binder del campo su false.

4. Binding del pulsante Sì per eseguire l'eliminazione

Eseguire il binding del pulsante per richiamare il metodo removeEmployee(java.lang.Integer) sul servizio Web:

  1. Selezionare il pulsante nell'area di progettazione e scegliere la scheda Binding per aprire la finestra Binding azioni componente.
  2. Scegliere OK.

5. Aggiunta di un evento per nascondere la finestra Conferma eliminazione dopo l'eliminazione del dipendente

A questo punto, è necessario aggiungere un evento al binder del pulsante (non allo stesso pulsante ). Inoltre, bisognerà impostare la finestra Conferma eliminazione affinché venga chiusa dopo la rimozione del dipendente, ovvero dopo che il binder ha richiamato correttamente il servizio sull'origine dati.

Aggiungere un evento al binder per il pulsante in modo da nascondere la finestra Conferma eliminazione quando il binder ha completato l'azione:

  1. Selezionare il pulsante .
  2. Selezionare l'icona del binder con il tasto destro del mouse per il pulsante e selezionare Eventi > Aggiungi eventi.

    Importante: l'evento viene aggiunto al binder del pulsante e non al pulsante.

  3. Espandere il nodo actionBinder e selezionare afterActionPerformed.

    Finestra Aggiunta evento per il binder del pulsante Sì

  4. Scegliere Fine. Il seguente stub di evento viene aggiunto al metodo 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. Modificare il codice generato nel seguente testo:
    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) {} 
    });

    Il codice di evento nasconde la finestra Conferma eliminazione dopo aver eseguito l'azione del binder.

A questo punto, quando viene eseguita l'applicazione sarà possibile selezionare un dipendente nella tabella, fare clic su Elimina e scegliere per confermare l'eliminazione. Il record del dipendente verrà eliminato dalla struttura e l'elenco dei dipendenti verrà aggiornato.

Ora è possibile passare all'esercizio successivo: .

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2000, 2005. Tutti i diritti riservati.