1°/ Objectifs
L'objectif de ce TP est de reprendre l'application du TP n°1 et d'y ajouter le code qui gère l'appui sur le bouton "Moyenne". Dans un deuxième temps, nous allons modifier le code de la fenêtre principale, et en particulier, nous allons lui ajouter un menu permettant à l'utilisateur de basculer entre les interfaces graphiques versions 1 et 2.
2°/ Action du bouton Moyenne
Afin de gérer l'action du bouton Moyenne, trois ajouts doivent être faits :
La classe ControlBouton va contenir le code associé au calcul de la moyenne. En résumé, ce calcul consiste à récupérer les notes et coefficients entrés par l'utilisateur, puis à calculer la moyenne. Par conséquent, la classe ControlBouton a besoin d'avoir accès à la classe Main pour pouvoir lire l'état de certains composants graphiques (qui sont des attributs de Main).
3°/ Contenu de la classe ControlBouton
Lorsque l'on clique sur un Button, un évènement de type ActionEvent est généré. Donc, pour écouter un tel évènement, nous avons besoin d'un objet qui implémente l'interface EventHandler<ActionEvent>
. De ce fait, cette classe doit contenir non seulement un constructeur (qui prend en paramètre un objet de la classe Main) mais également définir la méthode handle(ActionEvent e). Cette méthode sera automatiquement appelée lorsque un évènement de type ActionEvent est généré par le bouton écouté. C'est donc cette méthode qui contient le code associé au calcul de la moyenne.
Dans un premier temps, nous allons nous assurer que l'évènement clic est bien récupéré par l'écouteur du bouton. Pour ce faire, ajouter uniquement :
System.out.println( "clic sur le bouton'' );
dans le corps de la méthode handle()
. Si cela fonctionne, effacer cette ligne et remplissez la méthodes en suivant les étapes indiquées ci-dessous :