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 :

associer une action a un jcombobox


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut associer une action a un jcombobox
    salut je decouvre swing et je suis face a un petit probleme ( bidon pour certians d'entre vous ) ...au fait je pars d'un jcombobox alimenté par un ensemble de valeurs ...ce que je veux faire c'est associer a ce combobox une action partuliere qui capte la valeur choisi par l'utilisateur et l'injecte dans un autre traitement a part...donc ma question est comment associer a mon combobx que voiçi l'action correpondante MonAction qui detecte l'element selectionné et le retourne pour d'autres traitements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String  c[] ={"val1","val2","val3","val4","val5"};   //contenu de la comboBox
    JComboBox cb=new JComboBox(c);
    MonAction action = new MonAction();
     cb.addActionListener(action);

    merci

  2. #2
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    cb.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent e){
             String s = String.valueOf(cb.getSelectedItem());
         }
    });

    "s" c'est la valeur que tu recupères quand tu clique sur la combo.
    Pourquoi ca marche jamais?Vive le café!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    merci ...mais en essayant tojn code eclipse m'a suggéré de modifier al declaration de cb en final pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String  c[] ={"LRM","STM","MRM","SRM","BEACON"};   //contenu de la comboBox
            final JComboBox cb=new JComboBox(c);
             cb.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    String s = String.valueOf(cb.getSelectedItem());
                }
           });

  4. #4
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bah normalement y ' pas besoin de le déclarer en final.

    Les variable finales sont utilisées pour les constantes et tu ne peux leurs assigner qu'une seule fois une valeur.

    En gros ça permet à des "classes intérieures locales" d'acceder à ces variables.

    Donc je ne sais pas trop pourquoi çà te marque çà, je utilise peu eclipse, mais tu me dis que c'est "suggeré"?
    Si c'est le cas ne le met pas car ca pourrait bloquer le changement de valeur je pense..

    Mais faudrait demander à un spécialiste

    Sinon ça change quelquechose si tu la met en final ou pas?
    Pourquoi ca marche jamais?Vive le café!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    non pas vraiement

  6. #6
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    Il t'a tout simplement demander de mettre la variable en final car elle n'est pas declaree dans ta fonction actionPerformed mais dans la fonction au dessus.
    Ceci afin d'eviter des problemes tels que la modification de la valeur de cb en cours de programme.
    "L'ignorance, c'est la béatitude, ce qui explique peut-être pourquoi tout le monde sourit"
    Pensez au tag , ca évite de se galérer pour rien.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    ah ok merci infiniement

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 850
    Points
    22 850
    Billets dans le blog
    51
    Par défaut
    Note que sur une JComboBox, tu peux ajouter un ItemListener qui peut detecter plus finement les evenements de selection/deselection.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    et comment ca fonctionne ? je veux dire pourrais tu me donner un exemple en se basant sur ce qui a été donné comem code !
    merci

  10. #10
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    taJCombo.addItemListener(new ItemListener(){
     
    	public void itemStateChanged(ItemEvent G) {
     
                 //ton traitement      
     
            }
     
    });
    Pourquoi ca marche jamais?Vive le café!

  11. #11
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 850
    Points
    22 850
    Billets dans le blog
    51
    Par défaut
    Plus precisement :
    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
    taJCombo.addItemListener(new ItemListener(){
      public void itemStateChanged(ItemEvent event) {
        switch (event.getStateChange()) {  
          case ItemEvent.SELECTED: { 
            // ton traitement 1     
          }
          //
          break;.
          case ItemEvent.DESELECTED: 
          default: { 
            // ton traitement 2     
          }
        }
      }	
    });
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  12. #12
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bouye alors là çà m'épate car si je fais ce que j'ai écris plus haut, lorsqu'on va cliquer su la combobox, ca va faire 2 fois l'action non?

    J'ai toujours chercher à eviter le problème car j'avais plein de souci avec çà.

    Si c'est ca fonctionne comme je le pense, un GRAND MERCI à toi
    Pourquoi ca marche jamais?Vive le café!

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    pourquoi ca ferait deux fois j'ai pas compri?

  14. #14
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 850
    Points
    22 850
    Billets dans le blog
    51
    Par défaut
    A verifier a l'usage. ItemEvent a deux etats : SELECTED et DESELECTED, il faut donc faire attention auquel on recoit. Mais rien ne dit non-plus que la combobox utilise les deux (elle utilise SELECTED, ca c'est sur).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  15. #15
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Mais rien ne dit non-plus que la combobox utilise les deux (elle utilise SELECTED, ca c'est sur).
    Quand j'utilisais ma méthode, je passais 2 fois dedans et à chaque fois, je ne comprend pas pouquoi, alors qu'avec ta méthode, ca fonctionne correctement.

    Donc je ne sais pas pourquoi ca faisait çà, mais là çà fonctionne en tout cas
    Pourquoi ca marche jamais?Vive le café!

Discussions similaires

  1. Associer une action à un bouton
    Par reram dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 09/08/2008, 16h47
  2. [1.x] Comment associé une action au gabarit principal layout.php
    Par rockybalboa dans le forum Symfony
    Réponses: 3
    Dernier message: 04/07/2008, 16h37
  3. Associer une action a l'ouverture de l'index
    Par piotrr dans le forum Struts 2
    Réponses: 10
    Dernier message: 17/05/2008, 11h19
  4. Réponses: 2
    Dernier message: 04/12/2006, 09h32
  5. [VB.NET] Associer une action a bcp d'objets ....
    Par Michocs17141 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 06/12/2004, 12h25

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