Étape 11 : La méthode actionPerformed
Il s’agit de la méthode qui gère un événement d’action (en cliquant sur un bouton ou cochant/décochant d’un contrôle checkbox) depuis l’écran principal.
Tout d’abord, la méthode obtient la commande de la chaîne associée à quelque action sont passées dans. Cette chaîne correspond à l’étiquette de l’interface graphique où la commande est venue. Par exemple, en cliquant sur le bouton « Random » envoie un événement d’action à actionPerformed, et la chaîne de commande d’action de cet événement sera « Random ». Le programme à l’aide de la chaîne passée, chiffres comment répondre à l’action avec un bloc switch. Pour ceux d'entre vous qui ne savent, un bloc switch est une alternative à une ligne d’if/else blocs. J’ai envoyer « cmd » à l’interrupteur, et chaque cas est une valeur possible de « cmd » qui devrait correspondre à une réponse du programme. Voici les différents cas et leurs réponses associées :
-« Random »--> j’utilise un tableau int de taille 2 pour représenter une suggestion (index 0 est le numéro de la saison, et l’index 1 est le numéro de l’épisode). La méthode getRandom (pour être décrit plus loin) renvoie une suggestion au hasard, et la méthode d’affichage imprime la suggestion joliment sur la zone de texte.
-« Reset »--> appelle la méthode resetWatched, qui réinitialise le tableau regardé, affectant essentiellement tous les épisodes de "pas proposé". Après avoir appelé resetWatched, le programme affiche un message indiquant que la liste surveillée a été mis à jour.
-« Clear »--> ensembles le texte de zone de texte à une chaîne vide, efficacement effacer tout le texte de cette JTextArea.
-Si « cmd » est un numéro de 1 à 10, cela signifie que la commande est venue de changer l’état coché/décoché de l’une des cases à cocher saison. J’appelle la méthode addSeason et passez le numéro de la saison appropriée, afin qu’addSeason puisse déterminer comment faire pour changer la position de la saison dans le tableau « preferredSeasons ».
-Par défaut, j’ai mis actionPerformed pour répondre à une commande non reconnue en imprimant la commande dans la zone de texte en blanc. C’était surtout pour des fins de débogage et est peu susceptible de se produire pendant le déroulement normal du programme.