<class> is not abstract and does not override abstract

Status
Nicht offen für weitere Antworten.

kontur

Mitglied
Hallo zusammen.

Ich bin zwar blutiger Anfänger, denke aber meine Frage ist in diesem Teil des Forums besser aufgehoben.

Ich habe mir von Sun's Tutorialseite folgendes Beispiel geholt um daran die Grundlagen von swing etwas kennenzulernen. (java hier: link)

Nun wollte ich das ganze in ein einfaches Programm umschreiben, welches zwei Zahlen einließt und die Summe anzeigt. Der Part mit dem Auslesen bereitet mir zwar Probleme, bzw muss ich mir das noch anschauen, deswegen findet ihr ihn im Quelltext unten im Kommentar, aber das ist nicht weswegen ich poste.

Mein Problem nun ist, das habe ich per Suche und FAQ schon gesehen, wohl gut bekannt.
Ich bekomme in der cmd den Fehler, dass meine Klasse nicht abstrakt ist und die abstrakte Methode actionPerformed nicht überschreibt.

Da ich weder aus den Posts schlau werde (hmm...Anfänger) noch verstehe, warum meine Kopie des Sun-Tutorials nicht funktioniert würde ich hier um Hilfe bitten.

Hier der Quelltext, wie gesagt bewusst nah an dem Beispiel, aber irgendwo ist der Wurm drin. (Das Beispiel von Sun wird ohne Probleme kompiliert.)

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class KaksiLukuaSwing implements ActionListener {
	//DECLARE components
	JFrame calculatorFrame;
	JPanel calculatorPanel;
	JTextField figure1;
	JTextField figure2;
	JLabel resultSum;
	JButton calculate;
	
	
	//PUBLIC METHOD defining the components
	public KaksiLukuaSwing() {
		//create and set window
		calculatorFrame = new JFrame("Calculate with two figures");
		calculatorFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		calculatorFrame.setSize(new Dimension(400,50));
		
		//create and set up the panel
		calculatorPanel = new JPanel(new GridLayout(2,2));
		
		//use a method that implements the components
		addComponents();
		
		//set the default button
		calculatorFrame.getRootPane().setDefaultButton(calculate);
		
		//add the panel to the window
		calculatorFrame.getContentPane().add(calculatorPanel, BorderLayout.CENTER);
		
		//display the window
		calculatorFrame.pack();
		calculatorFrame.setVisible(true); 
	} //end Calculator()
	
	
	//PUBLIC METHOD implementing the components
	private void addComponents(){
		figure1 = new JTextField(5);
		figure2 = new JTextField(5);
		resultSum = new JLabel("Sum: ", SwingConstants.LEFT);
		calculate = new JButton("Calculate");
		
		//listen to events from the calculate button
		calculate.addActionListener(this);
		
		//put them to the container
		calculatorPanel.add(figure1);
		calculatorPanel.add(figure2);
		calculatorPanel.add(resultSum);
		calculatorPanel.add(calculate);
	} //end actionPerformed()		
	
	
	//PUBLIC ACTIONPERFORMED
	public void actionPerfomed(ActionEvent event){
		// calculations are done here
	//	int sum = ((parseInt(figure1.getText())) + (parseInt(figure2.getText())));
		resultSum.setText("test");
	} //end addComponents()		
	
	
	//PUBLIC STATIC CREATE AND SHOW GUI
	private static void setAndSetFrame(){
		KaksiLukuaSwing myCalc = new KaksiLukuaSwing();
	} //end setAndSetFrame()
	
	
	//PUBLIC STATIC MAIN
	public static void main(String[] args){
		javax.swing.SwingUtilities.invokeLater(new Runnable(){
			public void run(){
				setAndSetFrame();
			}
		});
	}
}


Meint
Es müssen alle Methoden eines implementierten Interfaces überschrieben werden, wenn die Klasse nicht abstrakt ist.
(FAQ), dass alle von mir benutzten Methoden überschrieben werden müssen, oder wie? Inwiefern erfüllt das mein Quelltext nicht?

Danke im Vorraus,
kontur
 
R

Roar

Gast
kontur hat gesagt.:
Ich bin zwar blutiger Anfänger, denke aber meine Frage ist in diesem Teil des Forums besser aufgehoben.
ne. *verschoben*

Meint
Es müssen alle Methoden eines implementierten Interfaces überschrieben werden, wenn die Klasse nicht abstrakt ist.
(FAQ), dass alle von mir benutzten Methoden überschrieben werden müssen, oder wie? Inwiefern erfüllt das mein Quelltext nicht?

es müssen alle methoden implementiert werden, die vom interface spezifiziert werden.
das interface hat eine methode actionPerformed(ActionEvent), darum musst du auch eine actionPerformed(ActionEvent) in deiner klasse implementieren. hast du aber nicht, nur so'ne komische actionPerfomed(ActionEvent)...
 

Bleiglanz

Gesperrter Benutzer
reiner Schreibfehler

wenn du Anfänger bist, dann gewöhn dir gleich an beim Überschreiben einer Methode ein @Override davor hinzuschreiben
Code:
@Override
public void actionPerformed(ActionEvent event){

dann kann sowas nicht passieren!
 

kontur

Mitglied
Danke schonmal für die Antworten.

Was meinst du mit "komischer Methode"? Ich habe den Teil quasi übernommen, und auch finde ich in dem Beispiel kein "@Override".
Was bedeutet das "@Override"...habe auf Sun-page gesucht und nicht gefunden. Auch mit der Zeile davor kommt der gleiche Fehler. Was ist gemeint mit "das kann dann nicht passieren"?

Ich verstehe nicht, warum ich beim Kompilieren des Beispiels keine Fehler habe, bei meinem Versuch dann aber den obigen Fehler kriege. Mir fehlt der Einblick dazu, wo der Unterschied von meinem Versuch zu dem Beispielcode ist, da ich, so denke ich, quasi nur andere Namen verwendet habe.


Danke vorab für weitere Hilfe,
k.



P.s.: Ist wohl im doch gut im Anfängerforum...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
O Verständniss Problem bei abstract class Java Basics - Anfänger-Themen 7
H abstract und interface Java Basics - Anfänger-Themen 4
H abstract - Wozu? Java Basics - Anfänger-Themen 6
B Interface vs Abstract Java Basics - Anfänger-Themen 2
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
J OOP Wie sollte ich das organisieren (Abstract? Interface?) Java Basics - Anfänger-Themen 33
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
S Compiler-Fehler not abstract and does not override Java Basics - Anfänger-Themen 9
M abstract method does not override or implement.... Java Basics - Anfänger-Themen 7
B Fehler : class is abstract and does not overwrite Java Basics - Anfänger-Themen 2
B klasse abstract Java Basics - Anfänger-Themen 9
R Wofür abstract? Java Basics - Anfänger-Themen 29
E Klasse abstract machen Java Basics - Anfänger-Themen 3
G Schlüsselworte Bedeutung von abstract Java Basics - Anfänger-Themen 2
C Liste mit Attribut Abstract vererben Java Basics - Anfänger-Themen 11
Y Theorie: Abstract Method Java Basics - Anfänger-Themen 6
P Problem mit Eclipse "must be declared as abstract" Java Basics - Anfänger-Themen 3
O Abstract Method & Generics Java Basics - Anfänger-Themen 10
B abstract static Java Basics - Anfänger-Themen 16
T abstract class Java Basics - Anfänger-Themen 8
K abstract Java Basics - Anfänger-Themen 8
W abstract static Java Basics - Anfänger-Themen 3
F does not overwride abstract method Java Basics - Anfänger-Themen 2
G Verständnisfrage zum Interface und Abstract Java Basics - Anfänger-Themen 3
A in abstract Klasse private Variablen Java Basics - Anfänger-Themen 3
J abstract & Polymorphismus Java Basics - Anfänger-Themen 11
K Problem mit Abstract Table Model Java Basics - Anfänger-Themen 5
D Fehlermeldung "Time is not abstract" Java Basics - Anfänger-Themen 6
T Problem mit Abstract Windowing Toolkit(simples Problem) Java Basics - Anfänger-Themen 8
P Adaptor, Abstract Factory Java Basics - Anfänger-Themen 12
S Brauche Hilfe bei "abstract" Java Basics - Anfänger-Themen 12
G fenster abstract Java Basics - Anfänger-Themen 18
R abstract class <-> instance Java Basics - Anfänger-Themen 6
G Abstract Class - Abstract Method Java Basics - Anfänger-Themen 4
P Maven-Dependencies (package org.apache.http.nio does not exist) Java Basics - Anfänger-Themen 6
S Fehler: Editor does not contain a main type Java Basics - Anfänger-Themen 3
G Programm wird nicht ausgeführt: Editor does not contain a main type Java Basics - Anfänger-Themen 10
I Fehlermeldung: Java does not contain a main type Java Basics - Anfänger-Themen 1
D Bitte um Hilfe bei "error: package com.apple.eawt does not exist import com.apple.eawt.*;" Java Basics - Anfänger-Themen 1
S Selection does not contain a main type! Java Basics - Anfänger-Themen 5
S Selection does not contain a main type Java Basics - Anfänger-Themen 12
I Erste Schritte Eclipse - Does not contain a main type Java Basics - Anfänger-Themen 8
T selection method does not contain a main type Java Basics - Anfänger-Themen 7
K Erste Schritte selection does not contain a main type Java Basics - Anfänger-Themen 3
Spin XML load does not work Java Basics - Anfänger-Themen 3
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
B Editor does not contain a main type Java Basics - Anfänger-Themen 3
E Netbeans, "class does not have a main method" Java Basics - Anfänger-Themen 8
V Eclipse "Selection does not contain a main type" Java Basics - Anfänger-Themen 13
F Zugriff auf Instanzobjekte - Package does not exist Java Basics - Anfänger-Themen 10
H OOP java.sql.Date does not have a no-arg default constructor Java Basics - Anfänger-Themen 2
D package javax.comm does not exist Java Basics - Anfänger-Themen 5
Luk10 package system does not exsist Java Basics - Anfänger-Themen 2
B Selection does not contain a main type Java Basics - Anfänger-Themen 2
B package org.jdesktop.layout does not exist Java Basics - Anfänger-Themen 8
M Fehler: package javax.portlet does not exist Java Basics - Anfänger-Themen 2
C Editor does not contain a main type Java Basics - Anfänger-Themen 7
R Fehler: "Class XY ist not abstact and does not override Java Basics - Anfänger-Themen 3
T Does not have a main method ? GGT. Java Basics - Anfänger-Themen 4
M The serializable class . does not declare a static . Java Basics - Anfänger-Themen 2
G The serializable class Kalender does not declare a static fi Java Basics - Anfänger-Themen 5
N The serializable class.does not declare a static final . Java Basics - Anfänger-Themen 2
C overridden method does not throw java.io.IOException Java Basics - Anfänger-Themen 4
A class does not declare a static final serialVersionUID Java Basics - Anfänger-Themen 13
L package com.sun.mail does not exist Java Basics - Anfänger-Themen 8
C package does not exist Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben