Interface indépendante du reste d'une application

Résolu
samplaid Messages postés 34 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 17 juillet 2008 - 11 mai 2007 à 22:56
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 12 mai 2007 à 07:23
Bonjour,

J'aimerais savoir comment faire pour que la partie interface graphique d'une application soit complétement indépendante. C'est à dire que l'on peut changer l'interface graphique sans touucher à la couche application du programme.

par exemple si j'ai une
class Routeur {
   private String name;
}

class FormMain {
    private JLabel l;
    private Routeur r;
}

Pour afficher afficher le nom du routeur pas de problème :
   l.setText(r.getName());
Mais si j'ai un traitement dans routeur qui est par exemple la reception d'un paquet et que je voudrais le mettre dans une JList. Comment prévenir ma JList de manière indépendante pour que celle-ci affiche mon paquet par exemple.
J'ai voulu utiliser l'évènement propertyChange mais cela ne marche pas parfaitement car tout ne s'affiche pas dans ma JList. Le traitement de ma thread est peut etre trop rapide par rapport a propertyChange, je ne sais qu'afficher une partie de ce que je capte avec cet évènement. Quelqu'un a une idée?

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 mai 2007 à 07:23
cela s'appelle le modèle MVC (ou 3 tiers, bien que les deux soit quasi identiques) : où comment programmer avec 3 couches : la couche modèle (données) , la couche vue (interface) et la couche controleur (métier).

Il te faut réfléchir à une interface (non pas graphique) pour ta couche contrôleur qui ne bouge plus, et ta couche présentation se base uniquement sur celle-ci pour faire l'affichage que tu veux. Comme cà tu peux changer de présentation ou de logique métier sans avoir à changer l'autre couche (tant que tu respecte ton interface de la couche métier cependant !).
3
Rejoignez-nous