ActionListener ist abstract and does not override abstract method actionPerformed — trotz, dass die Methode sehr
So, ich bin immer der Fehler Class is not abstract and does not override abstract method actionPerformed(ActionEvent) in ActionListener
Ich bin bewusst, dass der Ursprung dieses Fehlers ist aber was mich verwirrt ist, dass ich diese Methode.
public static ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent e){
Clock cl = new Clock();
if(seconds<59){
seconds++;
}else{
seconds=0;
if(minutes<59){
minutes++;
}else{
minutes=0;
if(hours<12){
hours++;
}else{
hours=0;
}
}
}
cl.repaint();
}
};'
Nicht ganz sicher, was Los ist. Keine Hilfe? Vielen Dank im Voraus.
EDIT: Kontext, einschließlich der Importe und der damit verbundenen Methoden
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Object.*;
import java.text.DecimalFormat;
import java.awt.geom.*;
public class Clock extends JFrame implements ActionListener{
public static int seconds = 0;
public static int minutes = 0;
public static int hours = 9;
public static ActionListener taskPerformer = new ActionListener(){
public void actionPerformed(ActionEvent e){
Clock cl = new Clock();
if(seconds<59){
seconds++;
}else{
seconds=0;
if(minutes<59){
minutes++;
}else{
minutes=0;
if(hours<12){
hours++;
}else{
hours=0;
}
}
}
cl.repaint();
}
};
public static Timer timer = new Timer(1000, taskPerformer);
public static void main(String[] args){
Clock cl = new Clock();
init();
SwingUtilities.invokeLater(new Runnable(){
public void run() {
createAndShowGUI();
}
});
}
public static void init(){
timer.start();
}
public Clock() {
super("Clock");
timer.addActionListener(this);
}'
bitte schreiben Sie weitere wichtige tags, wie die Sprache java
fügen Sie bitte die Importe in den code.
Es kompiliert auf meinem Rechner. Welche Java-version verwendest du? Sind Sie sicher, dass der compiler-Fehler geht mit dieser Codezeile?
Der Fehler kommt aus der Zeile, wo ich die Klasse, zeigen Sie auf das Wort Klasse.
Getan, und fügte hinzu, mehr Kontext
fügen Sie bitte die Importe in den code.
Es kompiliert auf meinem Rechner. Welche Java-version verwendest du? Sind Sie sicher, dass der compiler-Fehler geht mit dieser Codezeile?
Der Fehler kommt aus der Zeile, wo ich die Klasse, zeigen Sie auf das Wort Klasse.
Getan, und fügte hinzu, mehr Kontext
InformationsquelleAutor Cortney Reagle | 2013-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht das problem in der ursprünglichen code-snippet, das Sie gebucht. Ihre Klasse Uhr nicht implementiert actionPerformed(). Die taskPerformer Objekt macht. Der code ist aber darüber beschweren, dass taskPerformer ist ein ActionListener, aber Uhr ist nicht.
Auch, Sie scheinen nicht zu verwenden taskPerformer überall so, warum tun Sie müssen die anonyme Klasse. Man könnte einfach definieren, actionPerformed() in der Clock und mit ihm getan werden.
Sehe ich zwei Möglichkeiten, damit umzugehen. (Ich habe Sie weggelassen, einige irrelevante code, um die Technik klarer).
Option 1 - Verwenden Sie ein Uhr, als der Hörer
Option 2 - Verwenden Sie das anonyme listener
Hmm, versuchen, es aus bekomme ich den gleichen Fehler zusätzlich zu dem symbol: Klasse actionPerformed nicht gefunden. Können Sie erklären, wie man diese umsetzen? Dank
bearbeitet, um hinzufügen zwei Optionen von code-Beispiel
Danke! alle Fehler verschwunden.
InformationsquelleAutor Jeanne Boyarsky
Eine einfache Möglichkeit der Umsetzung ist, dass, wenn eine Klasse ActionPerformed implementiert, der die Aktion ausgeführt werden soll, innerhalb dieser Klassen hinweg.
InformationsquelleAutor Bribe Guntails
Versuchen Sie, hinzufügen von java.das awt.Ereignis code wie folgt :
Hatte das gleiche problem. Arbeitete für mich.
InformationsquelleAutor Nitin Guda