".$texte."";} } ?>

Le travail dirigé 2 se réalise en deux séances de laboratoire. Il consiste à implémenter une application de décompte de jetons (tokens) dans un fichier. Les jetons correspondent à des mots et des délimiteurs.

Ce travail met en application les principes de traitement parallèle entre des composants Swing. L'utilisation de la concurrence est très importante pour créer des applications interactives qui ne bloquent pas et qui permettent à l'utilisateur de demeurer actif et en contrôle.

Notions principales

Exigences du TD2

L'application doit satisfaire les exigences suivantes :

Pour avoir une idée concrête des exigences, consultez cette série d'images.

Il n'est pas obligatoire d'utiliser le modèle MVC, mais la correction en tiendra compte à titre de point positif.

Tutoriels Swing pertinents

Plusieurs tutoriels disponibles sur le site de java.sun.com sont pertinents pour réaliser ce TD. Il est important de bien les maîtriser avant d'entamer le TD.

Pour la première séance

Dans un premier temps, vous pouvez réaliser l'application sans vous soucier d'encapsuler le CompteurJetons dans un fil d'exécution SwingWorker et, par conséquent, sans permettre l'annulation et l'affichage du progrès de la tâche. Cette implantation démontre d'ailleurs clairement le manque de réactivité d'une telle approche.

De cette version, vous pouvez alors passer à l'encapsulation du CompteurJetons dans un fil d'exécution séparé ainsi qu'à l'interconnection du composant JProgressBarr et du SwingWorker par l'écoute d'événements du type PropertyChangeEvent, puis finalement à la gestion de l'annulation du SwingWorker.

Barème

Le travail est évalué selon les critères suivants :

Travail à remettre

Fichiers

Votre application devrait avoir les classes/fichiers suivantes :

Il n'y a pas de rapport à remettre mais insérez les commentaires pertinents directement dans le code.

Dépôt

Le dépôt de votre code doit être fait sous la forme d'une archive .zip ou .tar contenant les fichiers ci-dessus et tout autre fichier nécessaire au bon fonctionnement de l'application.

Il doit être possible de rouler le code en exécutant la fonction "main" du fichier Main.java.

Le dépôt se fait électroniquement sur le site Moodle.