Bonjour à tous!

voila mon soucis: je dois concevoir une application ("jtunes") qui est un lecteur de musique mp3
voila à quoi ressemble l'appli (tout n'est pas implémenté) :

mini legende:
1 -> Jlist qui liste les fichiers au format mp3 du fichier séléctionné
2 -> JTable qui listera la playlist actuelle
3 -> les boutons de lecture etc...

mon appli respecte donc le pattern MVC (enfin j'essai)

pour résumer j'ai donc:
- une vue (PlayerView.java que vous voyez)
- un controller
- un modele

le modele contient TOUTES les données necessaires au fonctionnement de l'appli dans un seul fichier model.java.

Mon probleme c'est que lorsque le modele change d'etat et notifie les observateurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
setChanged();
notifyObservers(o);
clearChanged();
ma vue va appeler la methode update() ce qui aura pour effet de mettre à jours TOUS les JComponents.

vous vous en doutez je voudrais éviter cela et pouvoir ne mettre a jour que ce qui est necessaire.

- j'avais comme 1ere solution de rajouter à toutes les methodes un argument Object arg qui serait le JComponent responsable de l'appel mais j'ai l'impression que ce serait du "bidouillage"

- en 2 je voulais créer 3 modeles différents (et donc 3 controllers) mais je me dis que le pattern observer étant une relation d'un modele à plusieurs vues, cela reviendrait à faire exactement l'inverse...


Pourriez vous me donner la meilleure solution pour avoir une MAJ efficace?
je pense que le probleme est simple a resoudre mais jusque la le modele de mes applis etait plus simple et je n'avait pas encore été confronté à ce soucis...

Merci d'avance pour vos réponses