Java ActionListener aus anderer Klasse erstellen

Hallo ich hab da ein Problem.
Ich möchte einen ActionListener von zwei Stellen her erstellen:

public class X1 extends JFrame {

JMenuItem a = new JMenuItem(INFO);
a.addActionListener(new Y1());

public class Y1 implements ActionListener {
public void actionPerformed(ActionEvent arg0) {
}
}

}

public class X2 extends JPanel {

JButton b = new JButton();
b.addActionListener(new Y1());

}

Nun kann ich aber aus Klasse X2 kein Objekt der Klasse Y1 erstellen.
Wie kann ich da drauf zugreifen, bzw. wie muss ich meine Implementierung Ändern, damit ich sowohl bei dem Button-Klick als auch bei dem Klick auf das Menü-Element, diesen ActionListerner benutzen kann?

  1. Die Klasse Y1 außerhalb von X1 definieren.
  2. Y1 als static deklarieren und mit Outer.Inner darauf zugreifen:
    new X1.Y1();

Grüße, JasonDelife.