Exercice : Radio

Code source de l'énoncé

Un poste de radio peut être dans différents états : "OFF", "FM", "AM", "LW".
  1. A partir du code source de l'énoncé, faire le diagramme états-transitions décrivant les états et changements possibles.
  2. Implémenter le même comportement en utilisant le pattern State.
  3. On voit que lorsque le poste est mis à "ON", il se trouve dans la première station de la bande FM.
    Ajouter un nouvel état, "VEILLE", qui se comporte comme l'état "OFF" pour les différentes transitions existantes.
    Mais lorsque le poste sort de l'état "VEILLE", il se remet dans le même état qu'avant sa mise en veille (même bande de fréquence, même station).

    On passe dans l'état "VEILLE" par une nouvelle transition, mettreEnVeille(). Cette transition ne fait rien si on est dans l'état "OFF" et passe dans "VEILLE" depuis les autres états.
    Lorsqu'on est dans l'état de veille,
    • la transition on() permet de sortir de l'état de veille (et de retrouver l'état précédant la mise en veille).
    • la transition off() passe à l'état "OFF".
  4. Ecrivez une application swing pour donner une interface graphique à votre radio.
    • Chaque changement d'état est associé à un Button.
    • Une zone de texte affiche l'état courant.
    • Une zone texte affiche la fréquence courante (chaîne vide lorsque le poste est dans l'état OFF ou VEILLE)
  5. Listez les patterns que votre code ainsi que l'API swing utilisent.