Kann actionPerformed(ActionEvent) nicht überschreiben

zomg

Mitglied
Hallo,

ich denk mal, dass das noch unter Anfängerfrage läuft, ansonsten bitte einfach verschieben.

Ich habe eine GUI-Klasse erstellt, die den ActionListener implementiert und auch eigentlich die Methode actionPerformed(ActionEvent) überschreibt. Das funktioniert auch im Programm, solange ich kein @Override vor dir Methode setze, was man ja aber tun sollte.

Der folgende Quellcode funktioniert einwandfrei und wenn man zu Testzwecken eine Konsolenausgabe in das actionPerformed schreibt funktioniert das auch. Sobald ich aber ein @Override davor setze funktioniert es nicht mehr und ich bekomme von Eclipse den Fehler:


Multiple markers at this line
- implements java.awt.event.ActionListener.actionPerformed
- The method actionPerformed(ActionEvent) of type Hauptfenster must override a superclass
method

Da das ganze bei meiner Kommilitonin in Eclipse funktioniert, habe ich die Befürchtung, dass da etwas an meinen Einstellungen nicht stimmt.

Über Hilfe würde ich mich natürlich sehr freuen (gerne auch Kritik am Programmierstil o.ä.)

[Java]
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;

public class Testmain extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = 1L;


Testmain()
{
// JFrame erstellen
super("Hauptfenster");
setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
setSize(500, 500);
setLocationRelativeTo(null);

// Menüleiste
JMenuBar bar = new JMenuBar();
JMenu datei = new JMenu("Datei");
JMenuItem beenden = new JMenuItem("Beenden");
datei.add(beenden);
bar.add(datei);
setJMenuBar(bar);

c.fill=GridBagConstraints.HORIZONTAL;

// Label für Suche
JLabel autor = new JLabel("Autor");
add(autor, c);

// Textfeld für Suche
JTextField txtAutor = new JTextField(5);
c.gridx=1;
add(txtAutor,c);

// Suchen Button
JButton suchen = new JButton("Suchen");
c.gridx=2;
suchen.addActionListener(this);
add(suchen, c);

pack();
setVisible(true);
}


public void actionPerformed(ActionEvent ae)
{
String cmd = ae.getActionCommand();

if (cmd.equals("Suchen"))
{
// Hier kommt noch Text
}
}

public static void main(String[] args)
{
Testmain t = new Testmain();
}
}

[/Java]
 
@TO
dein nick spricht mir aus der seele : es gibt echt noch jemanden der immer noch 5.0 drauf hat ? ...
mal davon abgesehen das seit dem release von 7 der support für 5.0 eingestellt wurde ... ist das doch nur wieder ein zeichen für das thema : "wenn leute mal updaten und die neuste version verwenden würden" ...
aus genau dem grund verstehe ich auch oracle selbt nicht ... warum bauen die immer noch 6 releases ? ... warum geben die 7 *mitlerweile U2* nicht endlich mal auf java.com für jeden "otto-normal-noob" frei ?

[OT]ich entwickle schon bewusst nur noch ausschließlich in 7 *und installiere dies auch bei jedem dessen rechner ich betreue* ... und oracle faselt einen von wegen "empfohlen 6u30" ... erlich ... langsam frage ich mich ob ich mir mit programmieren nicht doch das falsche hobby gesucht habe ...
wobei : es betrifft ja noch nicht mal nur java ... es sind ja wirklich alle sprachen betroffen ... php , C *und alles was dazu gehört* , javascript ... und auch dienste wie datenbank- und web-server ... ach hört doch auf ...
langsam wirds alles ziemlich lächerlich ...

warum gibt es eigentlich nichts was den customer zu sowas zwingen kann ? ich mein : VALVe / Steam schafft es doch auch : wenn man ein produkt nutzen will hält es der client stehts auf aktuellem stand ... ohne das man sich darum kümmern muss ... oder es vergessen kann ...

sowas sollten OS-hersteller als festen systemteil integrieren ... nach dem motto : du willst eine bestimmte software nutzen ? dann halte sie gefälligst aktuell ...
aber naja ... sehen wir der tatsache ins auge : wer "alle" erreichen will muss sich wirklich dazu herrabbegeben und ur-alt techniken nutzen ... nur weil der customer aus welchen gründen auch immer nicht updated ...[/OT]
 
dann sollte man gerade mal solchen "phreaks" stecken das es mitlerweile j7u2 gibt ... und das es sicher von vorteil wäre wenn die ihr L&F mal updaten würden ...

nur weil ich ein bestimmtes L&F verwende welches nur auf einer bestimmten VM version läuft muss ich meine "kunden" dazu zwingen ebenfalls diese alte VM zu nutzen ? no way ... dann fliegt das L&F eben und ich such mir ersatz ... wer nicht mit der zeit geht fliegt raus ... *aus dem spiel um monopolistische vorherrschaft*
 
@TO
dein nick spricht mir aus der seele : es gibt echt noch jemanden der immer noch 5.0 drauf hat ? ...
mal davon abgesehen das seit dem release von 7 der support für 5.0 eingestellt wurde ... ist das doch nur wieder ein zeichen für das thema : "wenn leute mal updaten und die neuste version verwenden würden" ...
aus genau dem grund verstehe ich auch oracle selbt nicht ... warum bauen die immer noch 6 releases ? ... warum geben die 7 *mitlerweile U2* nicht endlich mal auf java.com für jeden "otto-normal-noob" frei ?

[OT]ich entwickle schon bewusst nur noch ausschließlich in 7 *und installiere dies auch bei jedem dessen rechner ich betreue* ... und oracle faselt einen von wegen "empfohlen 6u30" ... erlich ... langsam frage ich mich ob ich mir mit programmieren nicht doch das falsche hobby gesucht habe ...
wobei : es betrifft ja noch nicht mal nur java ... es sind ja wirklich alle sprachen betroffen ... php , C *und alles was dazu gehört* , javascript ... und auch dienste wie datenbank- und web-server ... ach hört doch auf ...
langsam wirds alles ziemlich lächerlich ...

warum gibt es eigentlich nichts was den customer zu sowas zwingen kann ? ich mein : VALVe / Steam schafft es doch auch : wenn man ein produkt nutzen will hält es der client stehts auf aktuellem stand ... ohne das man sich darum kümmern muss ... oder es vergessen kann ...

sowas sollten OS-hersteller als festen systemteil integrieren ... nach dem motto : du willst eine bestimmte software nutzen ? dann halte sie gefälligst aktuell ...
aber naja ... sehen wir der tatsache ins auge : wer "alle" erreichen will muss sich wirklich dazu herrabbegeben und ur-alt techniken nutzen ... nur weil der customer aus welchen gründen auch immer nicht updated ...[/OT]
ich habe keine Ahnung in welchen Gefielden du so "Rechner betreust", nur wenn du zb Software schreibst fuer Grosskunden mit mehreren Tausend Mitarbeitern, so werden da mal so eben nicht auf neue Versionen geupdatet, vor allem nicht wenn du sagst "hey macht mal".
Bis vor einiger Zeit gab es irgendeine Mac Version, die max 1.5 supportet hat, hast du diese als Kunden so kannst du ja mal versuchen und sagen "hey kauft euch neue Rechner".

Wie gesagt, ich habe keine Ahnung wie dein Arbeitsalltag aussieht, die Aussage wirkt jedoch etwas naiv, wenn man Software kommerziell und weit verteilen will. Und der Vgl zu einem Spieleportal ala Steam ist bei weitem allein schon wegen der untersch. Clientel nicht sinnig.

ok - aber du sagst es selbst "hobby" ist es bei dir... ergo nicht wirklich vergleichbar
 

Neue Themen


Zurück
Oben