# Problem mit Lauscherobjekt(ActionListener)



## Guest (3. Nov 2007)

Habe folgenden Quellcode zu einem Tachenrechner erstellt:



```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Rechner  {

  // Anfang Eigenschaften
  JFrame frame = new JFrame();
  JLabel lblWert1 = new JLabel();
  JTextField tfdZahl1 = new JTextField();
  JLabel lblWert2 = new JLabel();
  JTextField tfdZahl2 = new JTextField();
  JPanel pnlZahlen = new JPanel();
  JButton btnRechnen = new JButton();
  // Ende Eigenschaften

  public Rechner (String title) {
    // Frame-Initialisierung
    frame.add(BorderLayout.SOUTH, btnRechnen);
    frame.setTitle(title);
    frame.setSize(300, 100);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // Anfang Komponenten
    frame.add(BorderLayout.CENTER, pnlZahlen);
    pnlZahlen.setLayout(new GridLayout(2,2));
    pnlZahlen.add(lblWert1);
    lblWert1.setText("     Erste Zahl");
    pnlZahlen.add(tfdZahl1);
    pnlZahlen.add(lblWert2);
    lblWert2.setText("     Zweite Zahl");
    pnlZahlen.add(tfdZahl2);

    btnRechnen.setText("Rechnen!");
    btnRechnen.addActionListener(this);

    frame.setVisible(true);
   // Ende Komponenten
  }

  // Anfang Actionlisteners und Eventhandlers
  class btnRechnenListener implements ActionListener{
    public void actionPerformed(ActionEvent evt) {
      try{
        double ergebnis = Double.parseDouble(tfdZahl1.getText()) +
                          Double.parseDouble(tfdZahl2.getText());
        frame.setTitle("Ergebnis: " + ergebnis);
      }
      catch(java.lang.NumberFormatException e) {
        frame.setTitle("Fehler!");
      }
    }
  }
  // Ende Actionlisteners und Eventhandlers

  public static void main (String[] args) {
    new Rechner("Rechner");
  }
}
```

Leider ist in Zeile 35 ein Fehler, bei der Registrierung des Objekts.
Brauche Hilfe, weil ich sonst gar nicht weiter komme.
Vielen Dank


----------



## merlin2 (3. Nov 2007)

Schreibe in Zeile 35  statt des bisherigen Codes folgendes:

```
btnRechnen.addActionListener(new btnRechnenListener());
```


----------



## Guest (3. Nov 2007)

hat funktioniert. Vielen Dank!!!!


----------

