Vous êtes sur la page 1sur 2

UNIVERSITE SAINT-JOSEPH FACULTE DINGENIERIE TRAVAUX PRATIQUES INFORMATIQUES : Modles de Conception et JAVA Sance 1 Dure 01h30 Il s'agit dans

s ce TP, de se familiariser avec les notions suivantes : Interfaces graphiques, et Gestion des entres/sorties en vue de crer une partition musicale (au clair de la lune par exemple) et de l'afficher. 1. Commencer par crer une classe Note_De_Musique, qui contient 2 attributs: a. le nom de la note, une chaine de caractre (do, re, mi, fa, sol, la, si) b. sa dure un entier (noire (1 temps), blanche (2 temps), ronde (4 temps)) Implmentez les constructeurs, setters et getters ncessaires, redfinissez toString() pour qu'elle retourne la chaine Nom:Duree, et tester toutes ces fonctions au niveau dune mthode main. 2. Crez une fentre qui hrite de Frame qui permettra de saisir le nom de la partition, ainsi que les notes qui la composent, selon la figure ci-dessous. Ajouter le ncessaire votre fentre pour que vous puissiez la fermer en cliquant sur le X.

3. Cration de la partition: Le bouton "Ajouter" permettra d'instancier un objet Note_De_Musique, et d'afficher le rsultat de l'appel de toString() sur la console. L'tape suivante serait de crer un fichier texte (Utiliser un PrintWriter par exemple) et d'ajouter ligne par ligne le rsultat de l'appel de toString( ) ce fichier. Le nom de ce fichier devrait tre le nom de la partition, choisi dans le TextField, suivi de .txt (Exemple: AuClairdelaLune.txt). Chaque note sera ajoute sur une ligne en vue de faciliter la lecture du fichier.

4. Lecture de la partition: Il faudra pouvoir en cliquant sur un bouton "Visualiser", visualiser la partition que vous auriez cre, dans votre TextArea, et ceci en affichant ligne par ligne les notes lues partir du fichier, suivie chacune selon le cas par une description sur sa dure (1 temps -> noire), (2 temps-> blanche), (4->ronde), selon la figure ci-dessus (Utiliser StringTokenizer) 5. Modles de conception: Recensez tous les design patterns implments par les API java utiliss au niveau de ce TP (java.awt, java.io), en expliquant.

Vous aimerez peut-être aussi