Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1185 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Récupérer l'élément d'un Combobox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer l'élément d'un Combobox

n°262393
blueman_82
Posté le 05-12-2002 à 20:39:05  profilanswer
 

Je souhaite récupérér l'élément sélectionné dans un Combobox, afin de l'afficher dans un textfield. vous savez comment faire?
 
// pour faire la connection
import java.sql.*;
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
 
public class Changer0 extends JFrame implements ItemListener  
{
 
 JTextField reponse;  
 JComboBox perso;
 JPanel p;
   
 public void init()
 {
  // Déclaration de la fenetres et parametres    
  setSize(350, 450);
  setTitle("CARNET D'ADRESSE" );
   
  //Creation d'un conteneur  
  p = new JPanel();
  getContentPane().add(p);
  p.setLayout(null);  
  p.setBackground(Color.blue);
   
  reponse = new JTextField("" );
  reponse.setBounds(100, 220, 200, 25);
  p.add(reponse);
 
  JComboBox  perso = new JComboBox();
  perso.setBounds(100,120,100,25);
   p.add(perso);
     
    perso.addItem("toto1" );
    perso.addItem("toto2" );
    perso.addItem("toto3" );
     
  setVisible(true);
         perso.addItemListener(this);
        }
   
 public void itemStateChanged(ItemEvent e)
   {
    try
    {  
    String ac = perso.getSelectedItem().toString();
    System.out.println(ac);
       
  }
         catch(Exception x)
  {
   System.err.print(x.getMessage());
  }
 }

}

mood
Publicité
Posté le 05-12-2002 à 20:39:05  profilanswer
 

n°262724
blueman_82
Posté le 06-12-2002 à 09:09:24  profilanswer
 

:bounce:

n°262750
gfive
Posté le 06-12-2002 à 10:18:38  profilanswer
 

ben ça devrait marcher, ça..non??

n°262783
blueman_82
Posté le 06-12-2002 à 10:43:18  profilanswer
 

nan ça ne marche pas
et dans la fenetre de sortie (MS DOS) il me marque nullnull à chaque sélection d'un élément

n°262791
gfive
Posté le 06-12-2002 à 10:54:19  profilanswer
 

ah ouais, je vois! :D Tu t'es fait prendre au piège de l'erreur con de base qu'on a tous fait!  
 
Regarde dans ton code :  

Code :
  1. public class Changer0 extends JFrame implements ItemListener 
  2. {
  3. ...........
  4. JComboBox perso; // Déclartaion de ton JComboBox : très bien...  
  5. .........
  6. public void init() {
  7.   .........
  8. JComboBox  perso = new JComboBox(); //Mais ça, par contre, c'est pas bien!!  
  9. perso.setBounds(100,120,100,25);
  10. p.add(perso);
  11. ......
  12. }

 
 
En gros, dans le corps de la méthode init, il ne faut pas redéclarer le JComboBox, sinon, tu ne fait pas référence à l'objet que tu as définit dans les paramètres de ta classe : tu crées un nouvel objet qui n'a de visibilité que dans le bloc où il a été déclaré (donc, dans la méthode init)
 
et ton JComboBox attribut de ta classe, ben il est resté null..
 
Remplace donc simplement ComboBox  perso = new JComboBox();  par
 
perso = new JComboBox();  
 
dans la méthode init, ça devrait beaucoup mieux marcher!

n°262798
blueman_82
Posté le 06-12-2002 à 11:01:16  profilanswer
 

effectivement ça marche beaucoup mieux !!
 
merci beaucoup

n°939906
Le Veilleu​r
Posté le 07-01-2005 à 10:18:24  profilanswer
 

Je profite de ce topic car mon problmème est assez semblable.
Je suis en train de découvrir le java, mais je connais le C++ et etc
 
Ici mon but est de simplement recuperer le tete d'un combobox, quand je clic sur un bouton, je voudrais simplement afficher le texte contenu dans celui-ci
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import recette.*;
  5. import depense.*;
  6. public class EsiFrame extends JFrame  {
  7.    
  8.      //Le constructeur
  9.      public EsiFrame()
  10.       {       
  11.      
  12.        //Parametre de ma fenetre
  13.        setTitle("Caisse - http://LeVeilleur.net" );
  14.        setBounds(50,50,800,600);
  15.        getContentPane().setLayout(new FlowLayout());
  16.      
  17.        //Bouton de fermeture
  18.        monBouton = new JButton("+" );
  19.        getContentPane().add(monBouton);
  20.      
  21.        EcouteBouton ecout1 = new EcouteBouton(1);
  22.        monBouton.addActionListener(ecout1);
  23.      
  24.    
  25.        //Bouton deux
  26.        monBouton2 = new JButton("-" );
  27.        getContentPane().add(monBouton2);
  28.        EcouteBouton ecout2 = new EcouteBouton(2);
  29.        monBouton2.addActionListener(ecout2);
  30.      
  31.        compte = new JLabel ("nombre de clic" ) ;
  32.        getContentPane().add(compte);
  33.        
  34.        //nb = new int();
  35.        nb=0; 
  36.      
  37.        texte = new JTextField(20);
  38.        getContentPane().add(texte);
  39.      
  40.        //Creation du box type
  41.        String [] type = {"recette","depense"};
  42.        combo1 = new JComboBox(type);
  43.        getContentPane().add(combo1);
  44.      
  45.        //Creation du box paiement
  46.        String [] typePaiement = {"liquide","bancontact"};
  47.        combo2 = new JComboBox(typePaiement);
  48.        getContentPane().add(combo2);
  49.      
  50.      
  51.       }
  52.    
  53.      
  54.    
  55.  
  56.      private JButton monBouton;
  57.      private JButton monBouton2;
  58.      public JLabel compte;
  59.      public int nb;
  60.      public JTextField texte;
  61.      public JComboBox combo1,combo2;
  62.      private int n;
  63.    
  64.      
  65.   class EcouteBouton implements ActionListener
  66.   {
  67.    public EcouteBouton(int n)
  68.    {this.n=n;}
  69.  
  70.  
  71.    public void actionPerformed (ActionEvent ev)
  72.      {
  73.       System.out.println("Action Bouton "+ n);
  74.      
  75.       //On connait le bouton sur lequel on a cliqué
  76.       if(n==1)
  77.         nb++;
  78.       else
  79.         nb--;
  80.        
  81.       //Affiche du nombre de clic sur les boutons   
  82.       compte.setText(" "+ nb);
  83.      
  84.        
  85.       //On recupere ce qu'il y a dans le combobox
  86.       Object valeur = combo2.getSelectedIndex();
  87.       System.out.println((String)valeur);
  88.    
  89.       }
  90.  
  91.    
  92. }
  93.    
  94. }


 
 
Ca compile, lorsque l'application se lance, qd je clic sur un des boutons pour récuperer ce qui se trouve dans le combobox, j'ai plein d'erreurs dans la fenetre dos
 
http://www.leveilleur.net/chris/java.png
 
C'est certainement une erreur de noob, mais je trouve pas :'(
 
merci :)


Message édité par Le Veilleur le 07-01-2005 à 10:20:45

---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°939913
Le Veilleu​r
Posté le 07-01-2005 à 10:24:53  profilanswer
 

Je pense avoir trouver
 

Code :
  1. System.out.println(combo2.getSelectedItem().toString());


 
Ceci fonctionne, comme dans le code source de blueman
 
et dans mon bouquin, il parlait de faire

Code :
  1. / Object valeur = combo2.getSelectedItem();
  2.       System.out.println((String)valeur);


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°939991
benou
Posté le 07-01-2005 à 11:10:04  profilanswer
 

bizare le classcast : vu que c'est un tableau de chaine que tu mets dans ta combo.
 
Là d'après l'erreur, c'est un Integer que tu récupères => à un moment où à un autre, tu as du ajouter un Integer dedans ...
 
C'est à toi de savoir ce que tu mets dans ta combo pour savoir ce que tu dois récupérer dedans [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°940366
Le Veilleu​r
Posté le 07-01-2005 à 15:41:19  profilanswer
 

D'apres mon livre, on recepere quelque chose de type Object, mais c'est rien, la méthode plus haut fonction.
 
merci d'y avoir regardé ;)


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
mood
Publicité
Posté le 07-01-2005 à 15:41:19  profilanswer
 

n°940377
benou
Posté le 07-01-2005 à 15:53:05  profilanswer
 

Le Veilleur a écrit :

D'apres mon livre, on recepere quelque chose de type Object


Object c'est juste pour accepter n'importe quelle classe. En fait tu récupères ce que tu y as mis (lopgique)


Message édité par benou le 07-01-2005 à 15:56:24

---------------
ma vie, mon oeuvre - HomePlayer
n°940379
Le Veilleu​r
Posté le 07-01-2005 à 15:55:14  profilanswer
 

Ah ok, merci :jap:


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
n°940498
nraynaud
lol
Posté le 07-01-2005 à 17:23:49  profilanswer
 

benou a écrit :

bizare le classcast : vu que c'est un tableau de chaine que tu mets dans ta combo.
 
Là d'après l'erreur, c'est un Integer que tu récupères => à un moment où à un autre, tu as du ajouter un Integer dedans ...
 
C'est à toi de savoir ce que tu mets dans ta combo pour savoir ce que tu dois récupérer dedans [:spamafote]


Code :
  1. Object valeur = combo2.getSelectedIndex();


http://java.sun.com/j2se/1.3/docs/ [...] tedIndex()
 
les premiers ravages de l'autoboxing de java 5 ....

n°940502
nraynaud
lol
Posté le 07-01-2005 à 17:25:15  profilanswer
 

c'est bien entendu getSelectedItem() qu'il faut (enfin, même ça c'est discutable ...) utiliser.

n°940596
benou
Posté le 07-01-2005 à 19:10:54  profilanswer
 

nraynaud a écrit :

Code :
  1. Object valeur = combo2.getSelectedIndex();

les premiers ravages de l'autoboxing de java 5 ....


bien vu :jap:


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Récupérer l'élément d'un Combobox

 

Sujets relatifs
une focntion pour recuperer la taille de l'applet ??comment recuperer le path du fichier qu'on execute ? [resolu]
[FLASH] Récupérer une variable flash de type flash.swf?variable=xxxxxxcombobox dynamique
recupérer les pixels d'une image en java[PHP] Recuperer l'adresse tapée par l'utilisateur
[c] recuperer les infos de /proc/net/devRécupérer les coordonnées absolues d'un <DIV> ou d'un <LAYER>
[Access] Récupérer une variable d'environnementArbre Binaire Ordonné, Insertion d'un élément et complexié ?
Plus de sujets relatifs à : Récupérer l'élément d'un Combobox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR