Jcombobox et text area

linaing Messages postés 27 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 26 mai 2011 - 1 juin 2010 à 11:16
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 19 juin 2010 à 07:04
salut:
bonjour,j'ai un autre problème dans mon code,j'ai créé ComboBox box[]
et je veux ajouter l' item selectionné dans ce combobox dans un
textArea lorsque je clique sur un JBoutton ajouter.
j'ai utilisé une boucle car j'ai 20 boutons qui est ajouté a 20 panel.

voila la partie de mon code qui fait ça:

JButton leBouton = (JButton) e.getSource();
for( int j = 0; j <= i; j++)
{
if(leBouton==ajout[j]){
ajout[j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String choix = (String) box[i].getSelectedItem();
textArea1[i].append(choix);

textArea1[i].append(System.getProperty("line.separator"));
}
});
}

lorsque je clique sur le bouton ajouter pour la 1 ère fois rien ne se
passe et pour la 2éme fois l'item est ajouté au textarea et pour la 3
éme fois l'item est ajouté au textarea mais 2 fois .

ou est le problem ??

et un autre problème: comment je peux gérer le bouton supprimer qui
supprime l'item selectionné dans Jcombobox du textarea.

merci d'avance et à plus!

5 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
4 juin 2010 à 07:26
Je ne vois pas trop d'où vient ton problème, que représenta la variable i ? Pourquoi est ce que tu ne créé pas un groupe de contrôles avec les boutons ?

Peut être, remplace de (String) par un appel à toString(). En général, on ne caste pas trop en (String), on préfère utiliser .toString(), il est d'ailleurs possible que le cast soit mal réalisé s'il est réalisé directement sur la référence alors que toString marche à tout les coups.

Une petite remarque qui ne résoudra pas ton problème :

Tu utilises une TextAera mais, tu ajoutes uniquement des colonnes, c'est donc assez difficile à gérer, heureusement, tu peux utiliser des JList, c'est je pense exactement ce qu'il te faut.
0
linaing Messages postés 27 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 26 mai 2011
5 juin 2010 à 20:53
salut
merci pour ta réponse Julien mai comment je dois utiliser toString(),coome ça:
String choix = (toString()). box[i].getSelectedItem();??? mai ça génére une faute .
comment je peux utiliser Jlist ??
merci d'avance Julien ,à +.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
6 juin 2010 à 07:22
Non, il faut que tu utilises box[i].getSelectedItem().toString(), c'est une fonction que tu appliques à box[i].getSelectedItem().
0
linaing Messages postés 27 Date d'inscription lundi 5 avril 2010 Statut Membre Dernière intervention 26 mai 2011
18 juin 2010 à 23:12
salut:
salut Jilien tu peux me dire comment je dois utiliser Jlist dans mon cas,voila une partie de mon code:
JList liste1[];
JList liste2[];
.........
liste1=new JList[20];
liste2=new JList[20];
tcb = new JComboBox[20];
box=new JComboBox[20];
liste1=new JList[20];
liste2=new JList[20];
tA=new JScrollPane[20];
tA1=new JScrollPane[20];
liste1[cmp]=new JList(model1[cmp]);
liste2[cmp]=new JList(model2[cmp]);
tA[cmp]=new JScrollPane(liste1[cmp]);
tA1[cmp]=new JScrollPane(liste2[cmp]);

if(leBouton==ajout[j]){
ajout[j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
for(int k=0;k<=i;k++){
String choix = box[k].getSelectedItem().toString();
model1[k].addElement(""+ choix);
String choix1= tcb[k].getSelectedItem().toString();
model2[k].addElement(""+ choix1);
}}});}
normamlent lorsque je clique sur bouton ajouter l'item sélectionné dans le combobox tcb []ou box[] apparait dans la liste1 ou liste2.mais ce code déclenche une erreur "le model ne doit pas contenir la valeur null"
est ce que ta une idée??tu peux m'aider?
merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 juin 2010 à 07:04
Je n'ai pas la totalité de ton code mais j'ai l'impression que te ne donnes jamais de modèle à ta liste. Voilà ce qu'il faut faire :
listModel = new DefaultListModel();
listModel.addElement("Debbie Scott");
listModel.addElement("Scott Hommel");
listModel.addElement("Alan Sommerer");

list = new JList(listModel);


Pour plus d'informations, tu peux aller voir ce site doc JList
0
Rejoignez-nous