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

AWT/Swing Java Discussion :

MVC et plusieurs action listeners


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut MVC et plusieurs action listeners
    Bonjour,
    j'essaie plus ou moins d’implémenter mon programme en suivant le schéma MVC. Mais j'essaie de rester simple...

    Bref, ma classe main, crée un premier controleur, qui dessine ma fenetre principale. J'ai des actions sur cette fenêtre et tout est ok.
    Maintenant, sur l'action de un de ces boutons, je voudrais creer un nouveau modele qui gere une nouvelle fenetre de saisie de donnees (en modal d'ailleur).
    La fenetre modale s'affiche ok, mais aucun des boutons de ma fenetre modale n'est entendu .. ??

    je ne comprend pas trop pourquoi?
    merci d'avance.

    Mon code ressemble a ca :
    Controleur 1
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    package pot.controleur;
    import pot.vue.MainFrame;
    public class Welcome implements ActionListener{
     
         /**
             * Controller ControleWelcome
             */
    	private MainFrame mainFrame; 
     
            public Welcome(){
     
            	// creer mon ecran principal
            	mainFrame = new MainFrame();
     
            	mainFrame.btnAjouterDateCure.addActionListener(this);
     
            // etc..
     
            }	 
        public void actionPerformed(ActionEvent actionEvent) {
     
    if(actionEvent.getSource() == mainFrame.btnAjouterDateCure ) {
    	System.out.println("Affiche ecran de saise d'une cure");
    	ControlCure controlCure = new ControlCure(mainFrame);
     
     
    			 }
    et puis le controleur de mon ecran de saisie :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    package pot.controleur;
     
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import pot.vue.DetailCure;
     
    public class ControlCure implements ActionListener{
    	public Frame parent;
    	public DetailCure vueDetailCure;
     
    	public ControlCure(){
     
    	}
     
    	public ControlCure(Frame myParent){
    		parent = myParent;
    		vueDetailCure = new DetailCure(parent);
     
    		vueDetailCure.btnSave.addActionListener(this);
    		vueDetailCure.btnCancel.addActionListener(this);
    	}
     
    	@Override
    	public void actionPerformed(ActionEvent actionEvent) {
     
    		if(actionEvent.getSource() == vueDetailCure.btnCancel ) {
    			System.out.println("Annule sauvegarde cure");
     
    		}
     
    		if(actionEvent.getSource() == vueDetailCure.btnSave) {
    			System.out.println("Ajoute une date pour une cure");
    			// TODO
    		}
     
    	}
     
     
    }

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu fais fausse route.

    Le contrôleur ne doit en aucun cas faire office de listener.

    Ce sont les listeners et la vue qui doivent avoir connaissance du contrôleur (donc avoir accès à une référence du contrôleur) et pouvoir appeler ses méthodes.

  3. #3
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    effectivement. merci.

    Pour info, ce lien est utile pour implementer un MVC:

    http://baptiste-wicht.developpez.com...onception/mvc/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spring MVC] Plusieurs actions pour un seul controleur
    Par reeda dans le forum Spring Web
    Réponses: 1
    Dernier message: 19/01/2009, 18h12
  2. Plusieurs action listener
    Par Katachana dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/07/2007, 09h25
  3. [Spring MVC] Plusieurs actions sur le même formulaire
    Par aloha dans le forum Spring Web
    Réponses: 3
    Dernier message: 26/08/2006, 15h22
  4. [STRUTS] Plusieurs actions dans une meme page
    Par DarkWark dans le forum Struts 1
    Réponses: 22
    Dernier message: 10/01/2006, 16h18
  5. [struts]plusieurs actions sur 1 JSP sans DispatchAction
    Par Le Marlou dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 23/03/2005, 14h10

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