Il n'y a pas d'algorithme particulier employé pour cette applet. Les boutons ainsi que la gestion des évènements sont inscrit dans la méthode init ().
Une méthode premierJourDuMois (int,int) permet de définir la position (donc le nom du jour) du premier jour du mois selon le principe suivant:
  • Création d'un tableau contenant les valeurs des positions possibles pour le premier jour.
  • Création d'une instance de la classe Calendar et affectation à celle-ci de l'année et du mois souhaîtés ainsi que du jour passé à 1.
  • Calcul du jour de la semaine pour l'instance créée avec la méthode get. (Calendar.DAY_OF_WEEK) et affectation du résultat dans une variable de type int.
  • Renvoi de la valeur de l'élément du tableau ayant la valeur de la variable calculée moins 1. (soit 1 pour lundi, 2 pour mardi, 3 pour mercredi, ...).
Une méthode nbJour(int,int) permet de renvoyer le nombre de jour dans le mois en fonction de l'année et du mois sélectionnés tout en prenant en compte le cas des années bissextiles.

Une méthode estJourFerie(int,int,int) détermine en fonction du jour, du mois et de l'année si une date est fériée ou non. La méthode renvoie true ou false.
La méthode paint permet d'afficher le calendrier en fonction des résultats retournés par les différentes méthodes.