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 :

Passer un argument dans une classe listener


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut Passer un argument dans une classe listener
    Bonjour, j'aimerais utiliser un argument dans un ActionListener, car le même élément revient souvent dans mon code.
    Voici l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class combo_listener implements ActionListener {
    	      public void actionPerformed(ActionEvent Arg0){
    		if(combo1.getSelectedIndex() == 0)
    		{ score1=0;}
     
    		if(combo1.getSelectedIndex() == 1)
    		{ score1=2;}
    }
    je voudrais entrer l'élément JComboBox "combo1" en argument afin de réaliser l'opération sur mes combo2, combo3 ...
    Pouvez vous m'aider?
    Merci d'avance.

  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
    Bah tu passes la JComboBox en argument du constructeur et tu stocke la référence en tant qu'attribut dans ta classe.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut
    C'est vrai que dis comme ça, c'est très simple, mais étant donnée que je débute en java, je ne comprend pas bien tout le vocabulaire.
    Peux tu me faire un petit code-exemple de ce que tu dis ?

  4. #4
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    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
     
    class Combo_listener implements ActionListener {
     
                  private JComboBox combo1;
     
                  public Combo_listener(JComboBox combo1){
                      this.combo1 = combo1;
                  }
     
    	      public void actionPerformed(ActionEvent Arg0){
    		if(combo1.getSelectedIndex() == 0)
    		{ score1=0;}
     
    		if(combo1.getSelectedIndex() == 1)
    		{ score1=2;}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public Combo_listener(JComboBox combo1)
    constructeur de ta classe avec comme paramètre ta comboBox. Dans ce constructeur tu affectes combo1 à ton attribut de classe combo1. Tu peux maintenant appeler combo1 dans ton actionPerformed

  5. #5
    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
    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
    package swing.tests;
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JComboBox;
     
    class combo_listener implements ActionListener {
     
        private JComboBox jComboBox;
     
        public combo_listener(JComboBox jComboBox) {
            this.jComboBox = jComboBox;
        }
     
        public void actionPerformed(ActionEvent Arg0) {
            if (jComboBox.getSelectedIndex() == 0) {
                score1 = 0;
            }
     
            if (jComboBox.getSelectedIndex() == 1) {
                score1 = 2;
            }
        }
    }

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37

    Informations forums :
    Inscription : Juin 2010
    Messages : 241
    Par défaut
    Merci à vous deux, mon programme tourne comme sur des roulettes maintenant

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

Discussions similaires

  1. Passer des arguments d'une classe à l'autre
    Par l0quito dans le forum Odoo (ex-OpenERP)
    Réponses: 25
    Dernier message: 19/11/2013, 16h46
  2. Création fonction avec argument dans une classe
    Par Général03 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/06/2009, 09h57
  3. passer un enum dans une classe
    Par dhoorens dans le forum C++
    Réponses: 4
    Dernier message: 09/08/2008, 16h27
  4. Passer un paramètre dans une classe
    Par soso78 dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/05/2008, 08h03
  5. Comment passer un argument dans une fonction
    Par DeezerD dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 22/01/2008, 18h13

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