Bevor Sie mit dieser Übung anfangen, müssen Sie ausführen.

In dieser Übung werden Sie die Anwendung für das Löschen eines Mitarbeitereintrags programmieren. In der folgenden Liste wird das Verhalten beschrieben, das die Anwendung aufweisen soll:

Führen Sie die folgenden, in dieser Übung beschriebenen Schritte aus, um dieses Verhalten hinzuzufügen:

  1. Die Schaltfläche 'Löschen' so programmieren, dass sie aktiviert bzw. inaktiviert ist, je nachdem, ob eine Zeile in der Tabelle ausgewählt ist.
  2. Das Dialogfenster 'Löschen bestätigen' so programmieren, dass es beim Klicken auf 'Löschen' geöffnet wird.
  3. Das Textfeld im Dialogfenster 'Löschen bestätigen' binden.
  4. Die Schaltfläche 'Ja' für die Ausführung des Löschvorgangs binden.
  5. Ein Ereignis hinzufügen, um das Dialogfenster 'Löschen bestätigen' nach dem Löschen des Mitarbeitereintrags auszublenden.

1. Die Schaltfläche 'Löschen' so programmieren, dass sie aktiviert bzw. inaktiviert ist, je nachdem, ob eine Zeile in der Tabelle ausgewählt ist

Um die Schaltfläche Löschen so zu programmieren, dass sie aktiviert bzw. inaktiviert sein kann, fügen Sie der Tabelle einen Listener hinzu, der die Schaltfläche aktiviert, wenn eine Zeile ausgewählt wird. Gehen Sie dazu wie folgt vor:

  1. Wählen Sie die Mitarbeitertabelle in der Sicht "JavaBeans" aus. In der Quellensicht wird die folgende Zeile hervorgehoben:
    employeesTable = new JTable();
  2. Fügen Sie direkt nach dieser Zeile einen neuen ListSelectionListener und ein Ereignis valueChanged zur Mitarbeitertabelle (employeesTable) hinzu:
    employeesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
    	public void valueChanged(ListSelectionEvent e) {
    		getDeleteButton().setEnabled(getEmployeesTable().getSelectedRowCount() != 0);
    	}
    });

  3. Nach dem Hinzufügen dieser Codezeilen markiert sie der Quelleneditor als Fehler, bis Sie ListSelectListener und ListSelectionEvent importieren. Klicken Sie zum Hinzufügen der erforderlichen Importe auf Quelle > Importe verwalten im Hauptmenü. Die folgenden Zeilen werden zum Importabschnitt der Klasse hinzugefügt:
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    Wenn nun eine Zeile in der Tabelle ausgewählt wird, wird die Schaltfläche Löschen aktiviert.

2. Das Dialogfenster 'Löschen bestätigen' so programmieren, dass es beim Klicken auf 'Löschen' geöffnet wird

Fügen Sie ein Ereignis actionPerformed zur Schaltfläche Löschen hinzu und programmieren Sie es so, dass das Dialogfenster 'Löschen bestätigen' geöffnet wird:

  1. Klicken Sie mit der rechten Maustaste auf die Schaltfläche Löschen und wählen Sie Ereignisse > actionPerformed aus. Die folgenden Zeilen werden zur Methode getDeleteButton() hinzugefügt:
    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. Ändern Sie diesen generierten Code wie nachstehend angegeben. Dies bewirkt, dass das Dialogfenster Löschen bestätigen beim Klicken auf die Schaltfläche angezeigt wird:
    deleteButton.addActionListener(new java.awt.event.ActionListener() { 
    	public void actionPerformed(java.awt.event.ActionEvent e) {    
    		getConfirmDialog().setVisible(true);
    	}
    });

3. Das Textfeld im Dialogfenster 'Löschen bestätigen' binden

Binden Sie das Textfeld im Dialogfenster Löschen bestätigen, um den Vornamen des zu löschenden Mitarbeiters anzuzeigen:

  1. Wählen Sie in der Sicht "JavaBeans" oder "Entwurf" das Textfeld employeeToDeleteField aus und klicken Sie auf die Registerkarte Binden.

    Dialogfenster zum Bestätigen des Löschens vor Bindung

  2. Wählen Sie im Dialogfenster Felddaten-Bindings das Datenobjekt selectedEmployeeRecord und das Feld firstName aus und klicken Sie anschließend auf OK.

    Nun wird das Textfeld an die Spalte firstName der ausgewählten Zeile in der Mitarbeitertabelle gebunden.

    Dialogfenster zum Bestätigen des Löschens nach Bindung

  3. Um sicherzustellen, dass das Feld schreibgeschützt ist, setzen Sie die Eigenschaft autoEditable für den Binder des Felds auf false.

4. Die Schaltfläche 'Ja' für die Ausführung des Löschvorgangs binden

Binden Sie die Schaltfläche Ja so, dass sie die Methode removeEmployee(java.lang.Integer) für den Web-Service aufruft:

  1. Wählen Sie die Schaltfläche Ja aus und klicken Sie auf die Registerkarte Binden, um den Dialog Komponentenaktion-Bindings zu öffnen.
  2. Klicken Sie auf OK.

5. Ein Ereignis hinzufügen, um das Dialogfenster 'Löschen bestätigen' nach dem Löschen des Mitarbeitereintrags auszublenden

In diesem Schritt fügen Sie dem Binder der Schaltfläche Ja (nicht der Schaltfläche Ja selbst) ein Ereignis hinzu. Das Dialogfenster Löschen bestätigen soll nach dem Löschen des Mitarbeitereintrags geschlossen werden, d. h., nachdem der Binder den Service für die Datenquelle erfolgreich aufgerufen hat.

Fügen Sie dem Binder für die Schaltfläche Ja ein Ereignis hinzu, um das Dialogfenster Löschen bestätigen zu schließen, wenn der Binder seine Aktion beendet hat. Führen Sie dazu die folgenden Schritte aus:

  1. Wählen Sie die Schaltfläche Ja aus.
  2. Klicken Sie mit der rechten Maustaste auf das Bindersymbol für die Schaltfläche Ja und wählen Sie Ereignisse > Ereignisse hinzufügen aus.

    Wichtig: Sie fügen das Ereignis zum Binder der Schaltfläche, nicht zur Schaltfläche selbst hinzu.

  3. Erweitern Sie den Knoten actionBinder und wählen Sie afterActionPerformed aus.

    Dialogfenster 'Ereignis hinzufügen' für Binder der Schaltfläche 'Ja'

  4. Klicken Sie auf Fertig stellen. Der folgende Ereignisstub wird der Methode getRemoveEmployeeAction() hinzugefügt:
    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. Ändern Sie den generierten Code in den folgenden Text:
    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) {} 
    });

    Durch diesen Ereigniscode wird das Dialogfenster Löschen bestätigen ausgeblendet, sobald der Binder seine Aktion ausgeführt hat.

Wenn Sie nun die Anwendung ausführen, können Sie in der Tabelle einen Mitarbeiter auswählen, auf die Schaltfläche Löschen klicken und zur Bestätigung des Löschvorgangs auf Ja klicken. Der Mitarbeitereintrag wird daraufhin aus dem Verzeichnis gelöscht und die Mitarbeiterliste spiegelt den Löschvorgang wider.

Nun können Sie mit der nächsten Übung fortfahren: .

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.