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

avec Java Discussion :

Application du Pattern MVC


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut Application du Pattern MVC
    Salut,
    je débute actuellement avec MVC, et j'ai besoin de quelques claircissements, ma situation est la suivate:
    J'ai une fenêtre contenat:
    * 5 JList, chacune d'elles affiche le contenu d'une table de la base de données
    * A chaque JList est associé un JTextField dans lequel devrait être affiché l'élément sélectionné
    * A chaque JList sont associés 3 JButton qui font des actions dépendantes de la liste sélectionnée

    Objectif:
    * Suivre les exigences du pattern MVC, c-à-d séparer le modèle, la vue et le contrôle, je veux savoir où placer les ActionListener et les MouseAdapter ?

  2. #2
    Membre chevronné Avatar de toutgrego
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2013
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2013
    Messages : 217
    Par défaut
    dans le contrôleur =)

  3. #3
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    Salut, merci pour votre réponse
    Franchement je comprend plus rien, donc je vais recommencer dès le début, pour faire simple voici ma première démarche:
    Mdèle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Model extends AbstractListModel {
     
        List<Fonction> listFonction = new ArrayList<>();
     
        @Override
        public int getSize() {
            return listFonction.size();
        }
     
        @Override
        public Object getElementAt(int index) {
            return listFonction.get(index).getFonction();
        }
    }
    Vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class View extends JPanel {
     
        public View() {
            JList jlist = new JList();
            JTextField text = new JTextField();
            JButton bouton = new JButton("save");
            this.add(jlist);
            this.add(text);
            this.add(bouton);
        }
    }
    Controleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Control {
     
        View view;
        Model model;
     
        public Control(View view, Model model) {
            this.model = model;
            this.view = view;
        }
    }
    Donc ce code me crée une JList vide
    Comment faire pour:
    1. Récupérer le texte du JTextField, l'insérer dans la base de données et rafraichir la table?
    2. Au clic sur un élément de la JList la zone de texte prend sa valeur?

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Par défaut Bonjour
    si tu débute avec le mvc nous préférons que tu utilise un framework cela te permettra de développer des projets robustes. tu as des framework comme jsf, spring mvc ou meme struts... surtout aujourd'hui on parle du web 2 l'objectif est de pouvoir utilise des navigateur comme interface et cela te facilitera la tache.

  5. #5
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    Je sais qu'un Framework me facilitera la tâche, mais je veux tout d'abord passer par la phase de tout faire à la main pour "savourer le Framework"

  6. #6
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Comment faire pour:
    1. Récupérer le texte du JTextField, l'insérer dans la base de données et rafraichir la table?
    2. Au clic sur un élément de la JList la zone de texte prend sa valeur?
    Pour le point N°1 tu peux passer par une gestion d’événements en implémentant le pattern Observer par exemple. En gros, tu vas dire que ta vue est "Observable" et ton modèle va être un "Observateur". Ce qui veux dire que dès qu'une modification va être apportée par l'utilisateur, elle va automatiquement notifier toutes les classes qui l'observe de ce changement qui vont pouvoir traiter cette modification (l'insertion en base est un exemple, on pourrait tout aussi bien faire des calculs).

    Pour le N°2 tu peux faire ce traitement dans la vue directement car cela n'implique aucun changement de donnée dans ton modèle. Tu pourras éventuellement notifier de ces changements lors de la sauvegarde par exemple.

  7. #7
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    J'ai le sentiment que je tourne en rond, Observer je crois que c'est une chose, alors moi je me penche sur le MVC

Discussions similaires

  1. Pattern MVC sur "grosse" application
    Par jklms dans le forum Débuter
    Réponses: 2
    Dernier message: 13/12/2013, 14h26
  2. Quelques questions sur mon application en pattern MVC
    Par Pavel37 dans le forum Débuter
    Réponses: 0
    Dernier message: 08/03/2013, 11h13
  3. Réponses: 1
    Dernier message: 13/12/2012, 22h56
  4. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  5. Pattern MVC et barre de progression
    Par Tiberizz dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 05/12/2006, 18h44

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