IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Swing besoin d'aide sur la conception


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Points : 73
    Points
    73
    Par défaut Swing besoin d'aide sur la conception
    Bonjour,

    je suis en train d'apprendre à mettre en place une application avec plusieurs design pattern.

    MVC pour la présentation.
    DTO pour envoyer des objets entre la couche métier et présentation.
    DAO pour la persistance des données et offrir au client des OM.

    Vous trouverez un pièce jointe une petite implémentation. Pouvez-vous faire une critique de celui-ci et me donner des conseils pour améliorer mon code (si possible ?)

    De plus, j'aimerai introduire dans ce code un autre composant graphique (un JTable) pour afficher mes clients. Mettre à jours celui-ci quand nous ajountons / supprimons un client. Cependant je ne sais pas comment faire. Je pensais introduire le pattern Observateur mais comment faire et ou ?

    merci de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre averti Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Points : 379
    Points
    379
    Par défaut
    Bonjour,

    cela peut se faire grâce à MVC:

    Tu as ton controller qui instancie ta vue et ton modèle,

    ton modèle joue le rôle d'Observable (model extends Observable)
    ta view joue le rôle d'Observer (view implements Observer)

    tu auras donc dans modèle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    notifyObservers();
    setChanged(new Object(o));
    par exemple lorsqu'un élément de ton modèle aura changé et que tu souhaites actualiser la vue.


    Dans la vue, tu auras un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void update(Observable o, Object arg){
     
    }
    qui reçevra le paramètre de setChanged dès qu'un notifyObservers aura été réalisé, tu pourras donc actualiser ta JList ou Jtable ou que sais-je


    Imagine par exemple que le login d'utilisateur change, dans modèle tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public void setLogin(String name){
     
          this.login = name;
          notifyObservers();
          setChanged(new String(name));
    }
     
    et dans view:
     
    public void update(Observable o, Objet arg){
     
            if(arg instanceof String){
                  label.setText(arg);
                  System.out.println("login change!");
            }
    }

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/05/2015, 16h21
  2. [AC-2003] besoin d'aide sur la conception d'un mail
    Par revemane dans le forum IHM
    Réponses: 1
    Dernier message: 18/03/2011, 09h13
  3. Réponses: 6
    Dernier message: 29/08/2009, 20h53
  4. Besoin d'aide sur la conception/Access
    Par rutayisire dans le forum Modélisation
    Réponses: 11
    Dernier message: 02/05/2008, 10h49
  5. Besoin d'aide sur la conception d'un base de données
    Par lordgodgiven dans le forum Modélisation
    Réponses: 1
    Dernier message: 01/10/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo