Interface graphique en Java et les contrôleurs

Le MVC
MVC=Modèle Vues Contrôleurs architecture permettant de séparer proprement la gestion des données et l’affichage des données:
– Le modèle gère les données
– les vues les affichent
– les contrôleurs demandent au modèle de modifier les données
Le modèle
● défini par une interface indiquant ce qu’on peut faire
● exemple: ListModel void addListDataListener(ListDataListener l)
Object get ElementAt(int index) int getSize()
void removeListDataListener(ListDataListener l)
● donc, un modèle de liste permet d’avoir la  taille, un élément donné et des listeners pour savoir quand ça change
● l’interface définit ce dont les vues peuvent avoir besoin, pas ce qui concerne la mise à jour des données:
– pas de add dans ListModel
– ce sera le rôle d’une implémentation comme DefaultListModel
● toujours bien séparer l’interface de  l’implémentation, pour éviter de forcer la main sur la façon de gérer les données
Les vues
● une vue est un mode de représentation des données
● souvent un objet graphique, mais ça  pourrait être autre chose:
– contenu d’un fichier mappé
– image
– pages web
– etc
● une vue a pour but de montrer les données que son modèle lui fournit
● pour cela, elle met un listener sur son modèle pour savoir quand elle doit se mettre à jour
● fait implicitement pour les objets usuels de Swing, quand on passe un modèle au constructeur d’une vue:
finalDefaultListModel model=newDefaultListModel();
JList list=newJList(model);
Les contrôleurs
● contrôleur= »chose » qui demande au modèle de modifier les données
● dans l’exemple précédent, c’était le bouton
● on peut avoir plusieurs contrôleurs
● ils doivent toujours poster leurs demandes au modèle dans la thread Swing!
● exemple: Timer qui incrémente chaque seconde de 1000 un élément tiré au hasard
Un exemple complet
● projet: un Victim Manager pour le syndicat des tueurs en série
● besoins client:
– tenir à jour une liste de victimes, définies par un nom et un état (safe, scared, dead)
– on doit pouvoir modifier l’état d’une victime (safe → scared ou scared → dead)

….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Interface graphique en Java 1.6 MVC et listes (330 KO) (Cours PDF)
Interface graphique en Java

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *