Problem mit Lauscherobjekt(ActionListener)

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Habe folgenden Quellcode zu einem Tachenrechner erstellt:


Code:
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
 
Schreibe in Zeile 35 statt des bisherigen Codes folgendes:
Code:
btnRechnen.addActionListener(new btnRechnenListener());
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben