Kann ich mehrere ActionListeners in einer einzigen Klasse?

Berücksichtigen, die zu vereinfachten Beispiel unten; einige von Ihnen geschrieben mit pseudocode für die Kürze. Wenn ich versuche, laufen diese so wie Sie ist, bekomme ich einen compiler-Fehler, der besagt das actionPerformed ist schon gefunden in meinem main Methode. Allerdings, wenn ich es umbenennen, sagen actionPerformed2 es nicht mehr anerkannt durch ActionListener.

Muss ich kombinieren, das den Zuhörer sowohl die foo und foo2 Methoden in einer einzigen ActionListener Methode??? Wie kann ich richtig unterscheiden Zuhörer von einander, wenn die Verwendung mehrerer Zuhörer in eine einzige Klasse mit mehreren button-Objekt?

Ich bin gerade am Anfang zu spielen, mit swing-Komponenten, so dass ich vermute, ich kann nicht die richtigen Fragen zu stellen...aber ich kann immer Bearbeiten wie ich gehen. 🙂

public class foo  {
    declare button1, button2, button3 and panel1
    public foo()  { 
        show panel1 with button1 and button2;
    }
    public foo2() {
        show panel1 with button3;
    }
    public void actionPerformed(ActionEvent e)  { 
        Object source1 = e.getSource();
        do some stuff when button1 is clicked
    }
    public void actionPerformed(ActionEvent f)  {
        Object source2 = f.getSource();
        do some other stuff when button2 is clicked
    }
    public static void main(String[] args)   {
        foo myFoo = new foo();
    }
}
Nicht wie gezeigt; Sie haben mehrere Methoden mit der gleichen Signatur-nicht legal. Als Hovercraft sagt, anonyme innere Klassen sind eine Antwort.

InformationsquelleAutor dwwilson66 | 2012-05-06

Schreibe einen Kommentar