# Java > Interfaces Graphiques en Java > AWT/Swing >  Rcupration d'item dans une ComboBox

## explication

bonjour a tous
je vous fournis mon code des deux classes afin de pouvoir m'aider
je veux rcuprer l'item selectionn de mon combobox de la class "combo" sur le label recup_item de ma classe "label"
j'ai pu l'afficher sur la console mais pas sur la classe label
voici le code


```

```

---------------------------LE CODE DE LA CLASS LABEL-----------------------


```

```

j'spre que vous allez m'aid
merci d'avance

----------


## Lythe

Pourquoi gnrer le code d'une si petite interface ? Fais-le toi mme, tu auras quelque chose de bien moins moche compliqu, et tu pourras grer facilement tes listener

Je comprends pas trop ce que tu veux faire l,  chaque fois que l'utilisateur clique sur le bouton, tu ouvres une nouvelle fentre... Pourquoi ne pas passer en paramtre du constructeur la couleur choisie ?

----------


## explication

oui  merci mais mon interface est un peut charger donc je voulais faire tout d'abord un essai sur une plus simple.
je veux que l'item choisis ce trouvera sur le jlabel de la fenetre qui s'ouvre
est t'il possible de m'aid sur a ?

----------


## Lythe

le plus simple c'est encore de regarder un tutoriel / JavaDoc

http://docs.oracle.com/javase/1.4.2/...JComboBox.html
http://docs.oracle.com/javase/tutori.../combobox.html

----------


## explication

j'ai pass par l mais a aucun moment j'ai pas trouver comment rsoudre mon problme! ::(: 
si t'a remarqu il laffiche l'item selectionn  dans la console
si tu peux me dire comment faire pour qu'il le rcupre sur recup_item de la frame label
a fais plus d'une semaine que je suis l dessus  ::cry:: 
merci

----------


## XxArchangexX

Bonsoir,

afiouu c'est bon j'ai trouv, ce code est une torture ^_^ et un vrai plat de spaghetti.

Alors

Dans ta classe combo  tu fais un appel sur le bouton ok qui va dans l'action listener de la classe label



```

```

ici tu fais ta nouvelle fentre mais label ne connait rien de combo tu initialises un label sans argument donc tu n'as pas moyen d'afficher la couleur.

avec ceci



```

```

Maintenant label connait la couleur  afficher

Etape 1 : j'ai copi coll la classe, le changement c'est le constructeur qui avant n'avait pas d'argument j'ai mis un string en paramtre que je met dans une variable couleur.

Etape 2 : j'ai mis le JLabel  jour avec recup_item.setText(_couleur);

La classe modifie :



```

```

Remarque : je rpond  ton problme mais mme si tu le sais peut tre, pour le principe je tiens  te dire que si tu volues ton code tu vas souffrir :s. Je te conseil de le revoir un peu.

----------


## explication

merci de m'avoir rpondu mais a marche pas! ::(: 
il me donne erreur au niveau de Test
"""est ce que tu utilise import org.junit.Test;?""""
et String jComboBox1=combo1.getjComboBox1().getSelectedItem().toString();
et aussi au niveau de la classe combo il reconn pas le constyructeur de la classe label! :8O:

----------


## XxArchangexX

aaa non ^_^ chez moi j'ai chang le nom de la classe combo j'ai utilis une classe vide que j'avais qui s'appel Test  ::D: . Remplace les Test par combo sa devrais fonctionner.

----------


## XxArchangexX

classe combo


```

```

classe label



```

```

voila tu peux faire un copier coller sa fonctionne normalement. J'ai retir le main dans label qui ne sert pas  grand chose car la fentre principale c'est combo.

----------


## explication

merci bcp bcp 
j'ai pu affich le rsultat  
donc pour mon code je vais revoir parceque mon interface contient plein de combobox
les items  du la combobox sont rcuprer a partir de la base de donne
est ce que y aura pas de changement a faire pour que je puisse faire la mme chose avec cet exemple??
merci encore ::ccool::

----------


## XxArchangexX

Tu peux utiliser cet exemple, il faut que tu fasses une fonction qui retourne un vector. Cette fonction se connecte  ta base retourner le rsultat dans un vector , ainsi quand tu initialises ta comboBox tu appels la fonction en retournant le vector ta comboBox contiendra les valeurs de ta base.

----------


## explication

ok merci

----------


## explication

bonsoir;
je reviens encore sur ce sujet
au fait dans mon application ya plusieurs documents dont lesquels je dois rcuprer les items selectionne de mes combobox et ma jlist(sachant que les combobox et la jlist sont remplis depuis la BDD).
est ce que je peux passer a partir du bouton envoy du panel principale(ou je fais mes choix) a une autre sur laquel je fais le choix du document  affich? ::roll::  
je comprend pas trop comment est ce que je dois procder!!
merci de m'aid

----------


## XxArchangexX

Bonsoir,

Si je comprend bien, ce que je te propose comme solution c'est de tout faire dans le mme panel, tu fais une tape 1 choix du document et tape 2 choix des critres, avec en bas de cette fentre un bouton lancer le traitement. Ainsi l'utilisateur comprend tout de suite qu'il va effectuer un traitement sur le document choisi avec des critres possible.

----------


## explication

bonsoir;merci de me rpondre.
j'xplique bien ce que j'ai:
un panel qui contient tout ce qui est rcuprer de la BDD postgresql;
ce panel est inclus dans une jframe qui elle mme contiens un tabbedpane.
a partir de mon panel  je fais les choix sur combobox ,puis je clique sur le bouton envoy qui va me dirriger  un autre panel(document)sur la mme frame et qui contiens 6 bouton(parcq j'ai 6 document a tablir) et c'est l que l'utilisateur va choisir quel document a affich (sachant que ce document dois contenir tt ce que l'utilsateur a selectionner) " comme dans l'exemple".
j'spre que j'ai pu faire passer mon aid et j'attend tes proposition toujour et surtt je veux savoir est ce que a est faisable.
merci encore pour votre aide XxArchangexX ::ccool::

----------


## explication

et si a va compliquer les chose je travaillerai sur l'aid que tu ma proposer elle me semble bcp plus pratique
salutation

----------


## XxArchangexX

Bonjour,

L'ide que tu souhaites faire est tout  fait faisable, je ne dis pas que c'est le plus dur mais sa necessite un peu de connaissance sur les fonctions des JPanel et JFrame, je pense surtout au repaint(), UpdateUI() pour le refresh de ta vue. 

L'ide une fois le choix de la comboBox effectu, l'utilisateur clique sur le bouton envoy donc un ActionListener. Dans ce listener effectuer le ou les traitement(s) sur tes documents puis agradir ta fentre setSize() il me semble et pour finir un AddComponent() avec le repaint pour mettre  jour la vue. 

Ainsi tu auras le choix des critres et au clique sur envoy la fentre prendra la taille du nouveau JPanel avec les 6 boutons.

En esperant que j'ai bien interpret ton choix de l'IHM.

----------


## explication

bonjour et merci pour ta rponse
mais ya une chose que vraiment j'arrive pas  bien  comprendre!
quand je fais le actionlistener sur le bouton envoy il va m'affich le panel ou ya les 6 bouton(sachant qu'on est sur la mme frame) et au clique sur un chois je lui affcihe la frame( le document) dsirer.(une frame indpendante)
ce que je vois pas ::calim2::   comment faire connaitre les choix fais sur les combobox au bouton puis au document (est ce que le traitement sera fais sur le bouton envoy ou bien sur un des bouton du choix de doc!!!!!).
Remarque:
j'ai fais mes interface avec netbeans; (pour les frame document j'ai utiliser un absolutelayout)
et j'utilise le code sous eclipse.

----------


## XxArchangexX

Pour moi le traitement sera effectu dans l'action Listener du bouton envoy, ainsi quand tu cliques sur le bouton d'un document se sera juste de l'affichage.

Pour ce qui est de la mise en oeuvre, c'est algorithmique  vrifier pour la syntaxe :

ta fenetre


```

```

classe controleur


```

```

----------


## explication

ok merci 
je tombe dja sur le problme de changement de panel sur la frame ::(: 
je vais le faire puis je passe au traitements
merci pour tous

----------


## explication

Bonjour
je viens d'appliquer l'exemple a mon cas mais a n'a pas march ::cry:: 
est ce que je peux poster mon code pour m'aid ::oops:: 
merci

----------


## explication

bonsoir
la chose que je n'arrive pas a comprendre c'est que quand je test ma class sur la class label a marche ::pc::  ::pc::  ::pc:: 
mais si je change de class rien ne se passe ::koi:: 
j'attend votre rponse
merci

----------


## explication

Bonjour   tous
j'ai pu affich le contenu des combobox sur des jlabel et je te remercie pour ton aide ::ccool:: 
et maintenant il me reste a rcuprer le contenu d'une jList sur plusieurs label
je m'xplique:
ma jList contient des noms t des prnoms et je veux que quand  l'utilisateur selectionne plusierus item j'affiche chacun sur un jlabel
item_nom---------->lab_nom
item_prenom--------->lab_prenom...etc
est ce qu'il y a un moyen de rsoudre a
merci d'avance

----------


## XxArchangexX

Bonjour,

On peut tout faire en java :p.

addItemListener sur ta JList ainsi quand l'utilisateur clique sur un item de ta liste, tu peux le rcuperer pour le traiter ( j'imagine que tu as tes infos par ligne donc avec un split() pour dcouper la chaine et rcuperer les infos).

Attention le listener s'active  chaque changement d'item donc tu risques d'avoir 2 fois le traitement.

En esperant t'avoir aid.

----------


## explication

ok merci
mais comment puis je faire le teste sur chaque item et le rcuprer dans une variable a part!!
j'ai pu rcuprer un item dja
mis pour plusieurs sincrement je ne vois pas comment ::(: 
je continue a essay et je reviens
merci bcp

----------


## XxArchangexX

Je ne connais pas trop JList pour la selection multiple, je sais que tu as la fonction getSelectedIndices(), tu auras un tableau avec les indices selectionns de ta Jlist avec sa tu devrais pouvoir rcuperer les valeurs pour chaque item selectionn.

Si sa t'aide sinon je ne vois pas  ::(: .

----------


## explication

ok merci je vais essay encore 
c'est trs gentil de votre part 
a+

----------

