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

Composants Java Discussion :

Listener commun - Architecture/Conception


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut Listener commun - Architecture/Conception
    Bonjour,

    Voila j'ai une action commune sur une JTable. cette action est déclenchée via un popup menu et un menu bar.

    Je me demande comment gérer cet ActionListener. J'ai pensé à définir une Class qui implemente ActionListener et qui serait créer comme un Singleton. Est ce que ça se fait comme ça ?


    NB : L'action est de supprimer les lignes selectionnées de ma JTable.

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,

    FAQ pour avoir une idée sur l'utilisation des listeners en Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    Merci de ta réponse,

    Moi je suis parti sur la solution numéro trois. Mais ce que je comprends pas c'est la creation d'instance du Listener pour chaque composant. C'est pour cela que je voulais partir sur un Singleton.

  4. #4
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    c'est la creation d'instance du Listener pour chaque composant
    Oui
    Ou alors tu fait en sorte que tous tes composants utilise le même listener.
    Dans ce cas tu n'auras qu'une seul instance de listener mais il faudra faire des conditions dans le listener
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void actionPerformed(ActionEvent e) { 
    if(bouton1){}
    else if(bouton2){}
    ...}
    ps: pas besoin de singleton ici

  5. #5
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par la_chevre Voir le message
    Mais ce que je comprends pas c'est la creation d'instance du Listener pour chaque composant.

    Comme l'a dis Ivelios, on peut utiliser un même listener voir la même implémentation de l'ActionListener. il faut donc différencier le bouton source de l'action comme on a fait dans cette source de la FAQ :

    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
     
    import java.awt.event.*;
     
    // Étape 1 : déclaration de la classe 
    public class MaClasse implements ActionListener {
        // Étape 2 : créations des boutons
        JButton monBouton = new JButton("Un bouton vivant");
        JButton monBouton2 = new JButton("Un bouton vivant2");
     
        public MaClasse() {
            // Étape 3 : on ajoute le listener aux boutons
            monBouton.addActionListener(this);
            monBouton.addActionListener(this);
        }
     
        // Étape 4 : l'implémentation de l'ActionListener
        public void actionPerformed(ActionEvent e) {
            System.out
                    .println("Un bouton a été cliqué, timestamp : " + e.getWhen());
     
            // Étape 5 : différenciation de la source d'évènement
            if (e.getSource() == monBouton
                    || e.getActionCommand() == monBouton.getText()) {
                System.out.println("C'est le bouton 1 !");
            } else if (e.getSource() == monBouton2
                    || e.getActionCommand() == monBouton2.getText()) {
                System.out.println("C'est le bouton 2 !");
            }
     
        }
    }
    dans ce test par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(e.getSource() == monBouton2 || e.getActionCommand() == monBouton2.getText())
    on compare le libellé du bouton avec celui de l'action capturée || on compare le bouton et l'objet source de l'évènement

    tu peux donc mettre l'un des deux conditions dans ton code.

Discussions similaires

  1. [IOS]Architecture Conception lib iOS
    Par jason42 dans le forum Développement iOS
    Réponses: 0
    Dernier message: 04/07/2013, 13h00
  2. [Architecture] Conception multi-couches
    Par djflex68 dans le forum Architecture
    Réponses: 42
    Dernier message: 10/06/2008, 13h33
  3. Un concept original d'architecture logicielle ?
    Par jobigoud dans le forum Architecture
    Réponses: 4
    Dernier message: 28/01/2006, 15h11
  4. [Architecture/strategie] conception de site web dynamique
    Par epoz dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 28/11/2005, 12h11
  5. [N-Tier] Problème conception architecture 3-tiers
    Par Royd938 dans le forum Autres
    Réponses: 3
    Dernier message: 17/06/2005, 11h47

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