- IN220, TP n°5 -
Mon Super Journal Intime à moi
C'est l'anniversaire de votre petite nièce de 12 ans, et vous lui avez
demandé ce qu'elle souhaitait pour son anniversaire... La charmante
petite pré-ado vous a répondu, sur un ton assez dédaigneux (comme elle
est mignonne) qu'elle voulait un Super Journal Intime Bratz pour son
PC, que ça la changerait de vos cadeaux complètement nazes.
Etant donné que vous adorez cette petite, vous décidez de ne
pas dépenser un centime pour son cadeau, et de programmer vous-même le
journal intime...
> Définir les structures qui seront utiles |
|
Dans
une première partie, nous allons définir les structures qui seront
utiles à la suite de ce projet. Nous allons jouer un peu avec le
programme afin de se faire une idée de quelles structures il faudra
définir. |
|
1) Téléchargez les
fichiers du projet ici. Vous possédez alors
deux fichiers, compilez le
fichier Main.java, et exécutez
le programme. Dans la suite, vous
n'aurez jamais besoin
de regarder à l'intérieur du fichier MonJournalIntime.java. |
|
2) L'interface qui
s'affiche montre trois éléments : un champ de texte pour le message, un
champ de texte pour le sujet, et un champ de texte pour la date. Vous
voyez dans le main différentes fonctions qui permettent de modifier les
champs. Essayez d'afficher un message de votre choix, avec le sujet que
vous voulez, à la date que vous voulez (regardez les fonctions du
fichier Main.java afin de
comprendre comment y parvenir). |
|
3) Dans la suite,
vous devrez créer deux nouvelles structures : un structure Date, qui
contiendra les données que vous jugerez nécessaires, et une structure MessageSecret qui
contiendra aussi les données que vous jugerez
nécessaires (un indice, la structure MessageSecret
contient un champ de
type Date). Attention :
vous aurez besoin de listes chaînées pour gérer correctement les
messages du journal (étant donné qu'on pourra ajouter, supprimer, et
parcourir les messages). Quelle structure devra être mise sous forme de
liste chaînée ? |
|
4) Ecrivez les
fonctions NouvelleDate et NouveauMessageSecret (dans Main.java), qui permettent
respectivement de créer une nouvelle structure de type Date et une nouvelle structure de
type MessageSecret
(réfléchissez bien aux paramètres des fonctions et à leur type de
retour). |
> Parcourir les messages dans un sens... |
|
Nous
allons tout d'abord parcourir les messages dans un sens. |
|
1) Dans la fonction Main du fichier Main.java, construisez une liste de
cinq messages :
Liez
les messages, et testez (avec des affichages à l'écran) si votre liste
fonctionne bien (vous pouvez désactiver, le temps des tests,
l'affichage de la fenêtre à l'écran). |
|
2) La fonction AfficherMessageSuivant est appelée
à chaque fois que l'utilisateur appuie sur le bouton "Suivant". Faîtes
en sorte qu'au début, le premier message de la liste soit affiché sur
la fenêtre, et qu'à chaque fois que l'utilisateur appuie sur "Suivant",
le message suivant de la liste soit affiché. Que faire losqu'on arrive
au dernier message (à vous de décider en fait, mais faîtes en sorte que
votre programme ne s'arrête pas subitement). Attention
: Vous ne pouvez pas modifier les paramètres de la fonction AfficherMessageSuivant,
ni son type de retour. Si vous avez besoin de données supplémentaires,
vous pouvez rendre certaines variables communes à toutes les fonctions
en les déclarant hors de toute fonction. |
> ...et dans l'autre sens |
|
1) La fonction AfficherMessagePrecedent est
appelée à chaque fois que l'on appuie sur le bouton précédent. Comment
implémenter cette fonctionnalité (devez-vous modifier votre structure
de liste) ? Implémentez la fonctionnalité d'affichage des messages
précédents et testez. |
> Implémenter les autres fonctions |
|
On
termine en implémentant toutes les fonctions demandées. |
|
1) La fonction AfficherTousLesMessages est
exécutée à chaque fois que le bouton correspondant est activé. Ecrivez
le code de la fonction afin d'afficher, dans le champ de message
principal de l'interface graphique, tous les messages, sujets et dates
contenus dans la liste (ne rien mettre dans le champ date, et mettre
"Affichage de tous les messages" dans le champ sujet). |
|
2) Ecrivez le code de la fonction EffacerLeMessageCourant. |
|
3) Ecrivez le code de la fonction AjouterUnMessage (des fonctions
existent, dans Main.java, vous
permettant de récupérer les données écrites dans l'interface graphique). |
Maintenant que vous avez terminé de coder tout ça, votre chère nièce
vous fait remarquer qu'un journal intime Bratz, c'est pour les bébés,
et qu'elle préfèrerait un GPS Justin Bieber
(suite au prochain TP).