Puis-je utiliser plusieurs ActionListeners dans une classe unique?

Envisager la trop exemple simplifié ci-dessous; certains des écrits avec des pseudo-code pour des raisons de concision. Lorsque j'essaie d'exécuter ce qu'est, je reçois un compilateur erreur indiquant que le actionPerformed est déjà trouvé dans mon main méthode. Cependant, si je le renommer, le dire à actionPerformed2 il n'est plus reconnu par ActionListener.

Ai-je besoin de combiner les auditeurs pour le foo et foo2 méthodes en une seule ActionListener méthode?? Comment différencier les auditeurs les uns des autres lors de l'utilisation de plusieurs auditeurs dans une classe unique avec de multiples bouton de l'objet?

Je suis juste en train de jouer avec les composants swing, donc je pense que je ne peut pas poser les bonnes questions...mais je peux toujours la modifier comme je l'aller. 🙂

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();
    }
}
  • Pas comme indiqué; vous disposez de plusieurs méthodes de même signature--non pas juridique. Comme Aéroglisseur dit, les classes internes anonymes sont une réponse.
InformationsquelleAutor dwwilson66 | 2012-05-06