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]
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]