Récupérer l'élément d'un Combobox - Java - Programmation
Marsh Posté le 06-12-2002 à 10:43:18
nan ça ne marche pas
et dans la fenetre de sortie (MS DOS) il me marque nullnull à chaque sélection d'un élément
Marsh Posté le 06-12-2002 à 10:54:19
ah ouais, je vois! Tu t'es fait prendre au piège de l'erreur con de base qu'on a tous fait!
Regarde dans ton code :
Code :
|
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!
Marsh Posté le 07-01-2005 à 10:18:24
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 :
|
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
C'est certainement une erreur de noob, mais je trouve pas
merci
Marsh Posté le 07-01-2005 à 10:24:53
Je pense avoir trouver
Code :
|
Ceci fonctionne, comme dans le code source de blueman
et dans mon bouquin, il parlait de faire
Code :
|
Marsh Posté le 07-01-2005 à 11:10:04
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
Marsh Posté le 07-01-2005 à 15:41:19
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é
Marsh Posté le 07-01-2005 à 15:53:05
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)
Marsh Posté le 07-01-2005 à 15:55:14
ReplyMarsh Posté le 07-01-2005 à 17:23:49
benou a écrit : bizare le classcast : vu que c'est un tableau de chaine que tu mets dans ta combo. |
Code :
|
http://java.sun.com/j2se/1.3/docs/ [...] tedIndex()
les premiers ravages de l'autoboxing de java 5 ....
Marsh Posté le 07-01-2005 à 17:25:15
c'est bien entendu getSelectedItem() qu'il faut (enfin, même ça c'est discutable ...) utiliser.
Marsh Posté le 07-01-2005 à 19:10:54
nraynaud a écrit :
les premiers ravages de l'autoboxing de java 5 .... |
bien vu
Marsh Posté le 05-12-2002 à 20:39:05
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());
}
}
}