16 boutons a "ecouter" existe-il une méthode assez simple?

Résolu/Fermé
Jadorelinfo Messages postés 51 Date d'inscription samedi 24 mai 2014 Statut Membre Dernière intervention 15 avril 2016 - 8 juin 2014 à 11:44
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 8 juin 2014 à 15:30
Bonjour,

Ayant 16 boutons a ecouter, au moyen de listener, suis-je obligé de creer 16 classes internes, ce qui fait vraiment beaucoup ou existe-il un moyen plus simple??

Merçi.
A voir également:

4 réponses

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
8 juin 2014 à 13:48
Bonjour,

Cela dépend de ton problème. Si les boutons font plus ou moins la même chose tu peux faire une seule classe pour plusieurs boutons, tu spécifieras leur comportement en donnant différents paramètres au constructeur, les objets seront différents mais la classe commune.

Remarque : rien n'oblige que la classe soit interne, tu peux très bien faire une classe "normale" et si tu as des dépendances tu lui passes aussi en paramètres.
0
Jadorelinfo Messages postés 51 Date d'inscription samedi 24 mai 2014 Statut Membre Dernière intervention 15 avril 2016 1
8 juin 2014 à 13:53
c'est 16 boutons de calculatrices : 0 ==>9 et +, -, * , / , C , .
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 8/06/2014 à 14:03
Alors déjà, les boutons de 0 à 9 tu peux les mettre dans la même classe, il suffira de préciser quelle valeur tu mets. Exemple :

button3.addActionListener(new AddDigitListener(3));

Les 4 opérateurs aussi, après tout ils font quasiment la même chose.

Reste alors "." et "C" pour lesquels tu feras deux classes distinctes.

Ça ne fait donc plus que 4 classes, au lieu de 16...
La confiance n'exclut pas le contrôle
0
Jadorelinfo Messages postés 51 Date d'inscription samedi 24 mai 2014 Statut Membre Dernière intervention 15 avril 2016 1
Modifié par Jadorelinfo le 8/06/2014 à 15:29
quand je fais :
button3.addActionListener(new AddDigitListener(3));

eclipse me dit que le constructeur n'est pas défini (boutonlistener dans Fenetre), tout est en rouge???
0
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
8 juin 2014 à 15:30
C'était un exemple. La classe AddDigitListener n'existe pas, il faut la créer, ainsi que son constructeur qui prendrait un entier pour indiquer le chiffre correspondant...
0