Announcement

Collapse
No announcement yet.

Klasse muss als abstract deklariert werden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Klasse muss als abstract deklariert werden

    Guten Abend <br>
    Vieles ist für mich noch rätselhaft in der Javawelt. Aber folgendes indernis stellt sich mir immer wieder in den Weg. <br>

    Zur Zeit beschäftige ich mich ein bisschen mit Swing (mit SDK 1.4.0). Sobald ich eine Klasse implements ActionListener deklariere, erhalte ich vom Compiler folgende Meldung: <br>

    Klasse SimpleBtnEvent sollte abstrakt deklariert werden; es definiert nicht method actionPerformed(java.awt.event.ActionEvent) in Schnittstelle java.awt.event.ActionListener in Zeile 5, Spalte 8 <br>

    Diese Meldung erhalte ich auch,wenn ich Beispiele aus Java-Bücher abschreibe. An was kann das liegen? <br>

    Besten Dank für jede Hilfe<br>
    Carla

  • #2
    Hallo Carla,<BR>
    <BR>
    Ein Interface definiert eine Schnittstille einer Klasse, also Methoden, die Objekte dieser Klasse implementieren. Das Interface ActionListener definiert die Methode actionPerformed, also muß Du diese Methode in Deiner Klasse implementieren. Tust Du das nicht, hat sie nicht alle Methoden, die sie haben muß, um zu funktionieren und der Compiler verlangt, daß sie als "abstract" gekennzeichnet wird (dann soll die Unterklasse die fehlende Methode implementieren).<BR>
    Wenn das abgeschriebene Beispiel vollständig sein sollte, ist es fehlerhaft. Es kann so nicht funktionieren.<BR>
    <BR>
    In der Hoffnung, Dir geholfen zu haben...
    Stefa

    Comment


    • #3
      Hallo Stefan

      Du hast mir wirklich sehr geholfen. Werde das heute Abend gleich nochmals ausprobieren.

      Vielen Dank!
      Carl

      Comment


      • #4
        Hallo Carla,<BR>
        <BR>
        Noch ein Nachtrag:<BR>
        <BR>
        Beispiel-Implementierung für die actionPerformded()-Methode, die auf zwei Button-Klicks reagiert (ein OK- und ein Cancel-Button):<BR>
        <BR>
        <PRE>
        public void actionPerformed(ActionEvent event) {
        if (event.getActionCommand().equals("OK") {
        // OK-Button geklickt
        // tue etwas cleveres
        }
        else if (event.getActionCommand().equals("Cancel") {
        // Cancel-Button geklickt
        dispose(); // Fenster schließen
        }
        }
        </PRE>
        Bis dann...<BR>
        Stefa

        Comment


        • #5
          Vielen Dank für Deine Bemühungen Stefan!!! Deine Erklärung klingt jetzt im Nachinein so simpel. Aber selber wäre ich nie darauf gekommen! Gut, dass es dieses Forum gibt!

          Carl

          Comment

          Working...
          X