Madvin
Messages postés123Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 2012
-
9 juin 2010 à 10:52
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
9 juin 2010 à 17:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 9 juin 2010 à 17:09
Oui, l'idée est bonne, je vais retravailler ce code quoi qu'il arrive puisqu'il y a encore quelques imperfections. En particulier, je vais faire une classe abstraite (ou une interface) forme géométrique pour éviter la duplication de code, je m'en rappellerai à ce moment là.
Merci
Madvin
Messages postés123Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention26 août 20123 9 juin 2010 à 10:52
Salut,
Petite astuce : Plutôt que d'implémenter directement les interfaces MouseListener et MouseMotionListener, il vaudrait mieux spécialiser les classes abstraites MouseAdapter et MouseMotionAdapter. En effet, les adapters implémentent les méthodes des interfaces associées en les laissant vides comme tu l'as fait pour la majorité d'entre elles. L'intérêt d'utiliser et de spécialiser les adapters est d'implémenter uniquement les méthodes du listener qui t'intéressent, ce qui permet de ne pas alourdir le code de ton programme avec toute une liste de méthodes vides.
Par contre si toutes les méthodes d'une interface listener doivent être remplies (pas de corps vide), implémenter directement l'interface convient parfaitement.
L'API Java doit normalement fournir un adapter pour chaque listener définissant au moins 2 méthodes.
9 juin 2010 à 17:09
Merci
9 juin 2010 à 10:52
Petite astuce : Plutôt que d'implémenter directement les interfaces MouseListener et MouseMotionListener, il vaudrait mieux spécialiser les classes abstraites MouseAdapter et MouseMotionAdapter. En effet, les adapters implémentent les méthodes des interfaces associées en les laissant vides comme tu l'as fait pour la majorité d'entre elles. L'intérêt d'utiliser et de spécialiser les adapters est d'implémenter uniquement les méthodes du listener qui t'intéressent, ce qui permet de ne pas alourdir le code de ton programme avec toute une liste de méthodes vides.
Par contre si toutes les méthodes d'une interface listener doivent être remplies (pas de corps vide), implémenter directement l'interface convient parfaitement.
L'API Java doit normalement fournir un adapter pour chaque listener définissant au moins 2 méthodes.
++