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 :

architecture M-V-C et Action Listener


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut architecture M-V-C et Action Listener
    Bonjour,

    L'idée est de donner la possibilité au modèle d'annoncer à l'interface graphique que quelque chose d'écouté a changé
    Dans mon appli j'ai une classe de type Jpanel dans laquelle j'ai disposé une JList et différents JButton, le click sur le btnVoir transmet à la classe: class ModeleListeEtage extends AbstractListModel{ le numéro d'étage que la classe ModeleListeEtage doit gérer pour l'affichage des chambres occupées dans la JList:
    code du bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        private void btnVoirActionPerformed(java.awt.event.ActionEvent evt) {                                        
            ModeleEtage= new ModeleListeEtage(this.hotelRepresente.Etage[this.cbxEtage.getSelectedIndex()]);  
            this.lstOccupation.setModel(ModeleEtage);
    code de la classe ModeleListeEtage :
    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
    public class ModeleListeEtage extends AbstractListModel{
        private EtageInterface EtageModelise;
     
        public EtageModelise(EtageInterface etage) {
           this.EtageModelise = etage;
        }
     
            public int getSize(){
               return this.EtageModelise.getNbPlaces();
                }  
     
        public Object getElementAt(int Index){  
           return this.EtageModelise.getChambre(Index);
        }
    }
    Comment dois-je faire pour ajouter un listener au modèle afin que lorsque on clique sur le bouton reserver, la Jlist soit raffraichit, comme si le btnVoir était cliqué?
    Merci de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 83
    Par défaut
    Hello,

    Pourquoi tu n'essayes pas de mettre ton model en "global" et quand tu clic sur ton bouton tu fais quelque chose du genre jlist.setModel(monModel);

    Ps: Ne fais pas à chaque fois un new MonModel() !!

  3. #3
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    finalement J'ai juste rajouté,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class CadreHotel extends javax.swing.JFrame implements ActionListener {
    ...puis dans le constructeur
            this.btnReserver.addActionListener(this); 
            this.cbxEtage.addActionListener(this); 
    
    ...
     public void actionPerformed(ActionEvent evt){
    //pour communiquer avec le modèle...
    ModeleEtage= new ModeleListeEtage(this.hotelRepresente.Etage[this.cbxEtage.getSelectedIndex()]);  
            this.lstOccupation.setModel(ModeleEtage);
    Je ne sais pas si c'est conforme aux bonnes pratiques de développement mais ça marche.

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

Discussions similaires

  1. [JTree] Problème d'action listener
    Par beuhnoix dans le forum Composants
    Réponses: 3
    Dernier message: 26/05/2009, 18h56
  2. Image et action listener ?
    Par a7aa7a dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 19/12/2007, 19h15
  3. Plusieurs action listener
    Par Katachana dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/07/2007, 09h25
  4. Action listener pour un item de comboBox ?
    Par poulette3000 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/05/2007, 14h03
  5. Réponses: 4
    Dernier message: 17/04/2007, 00h10

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