TP Noté Java : IO et Swing

SOURCES DU TP

Remarque : ce TP comprend deux parties relativement indépendantes : une sur les entrées/sorties, l'autre sur la réalisation d'un composant Swing. Le composant Swing peut être réalisé sans que la partie entrées/sorties ne fonctionne, et vice-versa.

Dans ce TP, nous allons réaliser un outil capable d'afficher un dessin simple, composé de traits de couleurs (appelés ici des figures). Une figure est une suite de segments. Dans le dessin donné en exemple pour la question 1, le "C" de CNAM est une figure composée de trois points ; le "A" est réalisé avec deux figures : un "V" inversé, et un trait horizontal.

Ces dessins sont représentés en mémoire par un modèle qui est donné dans le package tpSwing.model. La compréhension de ce modèle est assez simple : un Dessin est une liste de Figures qui ont chacune une Couleur et contiennent une liste de PointFigure. Par défaut, les figures ne sont pas fermées.

On ne demande pas dans ce TP d'avoir une approche strictement MVC (pas besoin d'implémenter le pattern observateur.

Vous avez le droit d'ajouter les méthodes dont vous pensez avoir besoin dans les diverses classes. Évitez simplement de modifier ou supprimer les en-têtes des méthodes existantes !

Question 1/Swing : composant "JDessin"

Complétez le composant "JDessin" pour qu'il puisse correctement afficher correctement un dessin.

Vous devriez obtenir l'affichage suivant :

le mot CNAM dessiné.

Question 2/Entrées/sorties : lecture d'une figure

Les figures peuvent être lues à partir de fichiers. Le format d'un fichier contenant une figure est le suivant : Exemple de contenu possible de fichier figure :
        FIGURE rouge 100 30 40 67 25 12 10 37 FIN 
        FIGURE bleu 10 20 30 50 FIN
    

Complétez la classe LecteurDessin

On fournit des tests pour tester cette classe, n'hésitez pas à les utiliser. Lisez-les aussi, cela vous permettra de comprendre plus facilement l'utilisation de la classe.

Question 3/Menu "lire"

Dans l'application Swing ApplicationDessin, le menu "Ouvrir" est supposé permettre de lire un fichier contenant une figure.

Complétez le code de la fonction lireFichier() de application dessin pour que le dessin soit correctement chargé.

Si vous pensez que c'est utile, vous avez le droit de modifier le code d'autres méthodes (par exemple de la classe JDessin). Cependant, ne changez pas les en-têtes.

Des fichiers de test sont disponibles dans le dossier dessin/.