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();
}
}
InformationsquelleAutor dwwilson66 | 2012-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung von anonymen inneren Klassen.
Für Beispiel-code, den Sie würde nie schreiben, aber das zeigt ein Punkt:
Mich, ich bin mit mehr AbstractActions und weniger ActionListeners, und haben auch schon angefangen mit dem Command Design Pattern für dieses Konzert mit einem PropertyChangeListener.
Als Beispiel, meine aktuelle GUI ' s "view" - Abschnitt sieht wie folgt aus:
Sowie einen Teil der "control" - Abschnitt sieht so aus:
Beachten Sie, ich behaupte nicht, ein Experte in diesem, aber bin nur versuchen, das zu verwalten, die Komplexität so gut ich kann. Es gibt wahrscheinlich bessere Möglichkeiten, um die Haut dieser Katze.
InformationsquelleAutor Hovercraft Full Of Eels