ActionListener funktioniert bei mir nicht, bei anderen mit selbem Code schon

Also ich wollte nur mal kurz was ausprobieren mit einem ActionListener aber der Streicht mir genau zwei Sachen an, und zwar: einmal das ActionListener() und dann noch das Event.
Als Lösungsvorschlag bringt mir Eclipse: add unimplementet methods. Ich komm wirklich nicht weiter, wenn jemand den Fehler sieht bitte einfach kurz melden danke.

[SPOILER]```

package gui;
 
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
 
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
 
public class NewToDo extends javax.swing.JFrame{
        private static final long serialVersionUID = -8656568610869382573L;
       
        //center position components
        private Toolkit t;
        private int x = 0, y = 0, width = 800, height = 600;
 
        //menu components
        private JMenuBar mbar1;
        private JMenu mbar1_m1;
        private JMenu mbar1_m2;
        private JMenu mbar1_m3;
       
        private JMenuItem mbar1_m1_mi1;
        private JMenuItem mbar1_m1_mi2;
        private JMenuItem mbar1_m1_mi3;
       
        private JMenuItem mbar1_m2_mi1;
        private JMenuItem mbar1_m2_mi2;
        private JMenuItem mbar1_m2_mi3;
       
        private JMenuItem mbar1_m3_mi1;
        private JMenuItem mbar1_m3_mi2;
        private JMenuItem mbar1_m3_mi3;
       
        //constructor
        public NewToDo() {
               
                //center position of frame
                t = Toolkit.getDefaultToolkit();
                Dimension d = t.getScreenSize();
                x = (int) ((d.getWidth() - width) /2) ;
                y = (int) ((d.getHeight() - height)/ 2);
               
                setTitle("To do list");
                setBounds(x, y, 800, 600);
               
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                //add all components
                this.initComponents();
                this.initListeners();
                setVisible(true);
        }
       
        private void initComponents(){
               
                //components
                this.mbar1 = new JMenuBar();
               
                this.mbar1_m1 = new JMenu("Menu 1");
                this.mbar1_m2 = new JMenu("Menu 2");
                this.mbar1_m3 = new JMenu("Menu 3");
               
                this.mbar1_m1_mi1 = new JMenuItem("Item 1/1");
                this.mbar1_m1_mi2 = new JMenuItem("Item 1/2");
                this.mbar1_m1_mi3 = new JMenuItem("Item 1/3");
               
                this.mbar1_m2_mi1 = new JMenuItem("Item 2/1");
                this.mbar1_m2_mi2 = new JMenuItem("Item 2/2");
                this.mbar1_m2_mi3 = new JMenuItem("Item 2/3");
               
                this.mbar1_m3_mi1 = new JMenuItem("Item 3/1");
                this.mbar1_m3_mi2 = new JMenuItem("Item 3/2");
                this.mbar1_m3_mi3 = new JMenuItem("Item 3/3");
 
                //adds
                this.mbar1.add(this.mbar1_m1);
                this.mbar1.add(this.mbar1_m2);
                this.mbar1.add(this.mbar1_m3);
               
               
                this.mbar1_m1.add(this.mbar1_m1_mi1);
                this.mbar1_m1.add(this.mbar1_m1_mi2);
                this.mbar1_m1.add(this.mbar1_m1_mi3);
               
                this.mbar1_m2.add(this.mbar1_m2_mi1);
                this.mbar1_m2.add(this.mbar1_m2_mi2);
                this.mbar1_m2.add(this.mbar1_m2_mi3);
               
                this.mbar1_m3.add(this.mbar1_m3_mi1);
                this.mbar1_m3.add(this.mbar1_m3_mi2);
                this.mbar1_m3.add(this.mbar1_m3_mi3);
               
                this.setJMenuBar(this.mbar1);
        }
       
        private void initListeners(){
                this.mbar1_m1_mi1.addActionListener(new ActionListener(){
                        @override
                        public void actionPerformed(ActionEvent e){
                        JOptionPane.showMessageDialog(null, "Test");
                        }
                });
        }
       
        //main method
        public static void main(String[] args) {
                new NewToDo();
        }
 
}
[/SPOILER]

*** Edit ***

Ich hab den Fehler selber gefunden danke :P

Schreibst du noch, was der Fehler war?

Naja, warum ActionEvent angemarkert wird ist klar : fehlender import …
Warum aber “new ActionListener()” angemarkert werden soll … entweder schreibfehler oder ich sehs grad nich.

// EDIT
Naja, es heißt halt

@Override

nicht

@override

Liegt daran das Annotations auch in dem Sinne Klassen sind und damit Java-typisch case-sensitive (wusste ich bisher auch noch nicht).

@Lex
Du erwartest doch nicht ernsthaft dass das noch geschiet ?

[ot]Sagen wir, ich habe es auf dem Wunschzettel an den Weihnachtsmann. ;)[/ot]

Naja, ich hab das mit der Annotation auch erst gerallt als es mir der Compiler angezeigt hat. Dachte immer es wäre egal ob man Override nun mit großen oder kleinen “o” schreibt, aber wenn ich dann eine class not found - meldung vom Compiler bekomme wird mir klar was dahinter steckt.