Ajout dynamique dans un combobox

Ajout dynamique dans un combobox - Java - Programmation

Marsh Posté le 26-04-2004 à 16:52:42    

Bonjour,
 
je fait des ajouts dynamiques dans un combobox et je souhaiterai que ca n'influe pas sur le fait qu'une personne est entrain de l'édité, en effet quand on l'édite et qu'un ajout est fait, le texte est réinitialisé par raport à l'index.
 
probablement un écouteur a zigouillé mais je trouve :/
 
 
merci  [:draschke]

Reply

Marsh Posté le 26-04-2004 à 16:52:42   

Reply

Marsh Posté le 26-04-2004 à 20:13:06    

edit : 2eme pb résolved, reste le 1er


Message édité par EpoK le 28-04-2004 à 09:51:05
Reply

Marsh Posté le 27-04-2004 à 09:09:01    

up :'(

Reply

Marsh Posté le 28-04-2004 à 08:48:52    

:hello: Coucou copain !
(jcomprend rien a ske tu raconte  :D )

Reply

Marsh Posté le 28-04-2004 à 09:08:08    

meumeul a écrit :

:hello: Coucou copain !
(jcomprend rien a ske tu raconte  :D )


 
 :D   [:volta]   [:draschke]

Reply

Marsh Posté le 30-04-2004 à 22:37:30    

ben oui c pas clair :)

Reply

Marsh Posté le 02-05-2004 à 03:01:19    

EpoK a écrit :

Bonjour,
 
je fait des ajouts dynamiques dans un combobox et je souhaiterai que ca n'influe pas sur le fait qu'une personne est entrain de l'édité, en effet quand on l'édite et qu'un ajout est fait, le texte est réinitialisé par raport à l'index.
 
probablement un écouteur a zigouillé mais je trouve :/
 
 
merci  [:draschke]


 
ListDataListener.
Y'a forcément aussi un ActionListener, mais celui-là pas touche.

Reply

Marsh Posté le 03-05-2004 à 00:41:04    

moi ce que j'ai pas compris c'est ou sont les 2 problemes, dont tu dis avoir résolu le premier, alors que je n'en vois qu'un dans ton post :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-05-2004 à 11:36:41    

Spoiler :


Il a édité et il l'a viré.
Mais j'avais rien compris non plus.


Reply

Marsh Posté le 03-05-2004 à 13:14:14    

seabee a écrit :

Spoiler :


Il a édité et il l'a viré.
Mais j'avais rien compris non plus.




 
 :jap:  
 
Bon je vais la refaire :)
 
Donc j'ai un combobox dans lequel est ajouté des éléments dynamiquements. (~ toute les 15s).
 
A la selection d'un de ces éléments il se passe un truc (ActionPerformed)
 
J'aimerai que l'utilisateur, en plus de pouvoir choisir dans le combo, puisse tapper le nom de l'item qu'il veux directement.
 
Le probleme c'est que quand on est entrain d'éditer le combo et qu'un ajout dynamique arrive, ce que tappe l'utilisateur est perdu en lui remettant dans le combo le texte initial.
 
Je cherche donc a faire que l'ajout dynamique n'influ pas sur ce que tappe l'utilisateur.
 
voila  [:volta]

Reply

Marsh Posté le 03-05-2004 à 13:14:14   

Reply

Marsh Posté le 03-05-2004 à 13:15:29    

the real moins moins a écrit :

moi ce que j'ai pas compris c'est ou sont les 2 problemes, dont tu dis avoir résolu le premier, alors que je n'en vois qu'un dans ton post :D


 
oui en fait j'avais rajouté un pb en post 2, j'aurais dû delete le post plutot que l'éditer c'est vrai que c'est pas clair   :)

Reply

Marsh Posté le 03-05-2004 à 13:23:55    

ha ok :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 03-05-2004 à 13:35:22    

EpoK a écrit :

:jap:  
 
Bon je vais la refaire :)
 
Donc j'ai un combobox dans lequel est ajouté des éléments dynamiquements. (~ toute les 15s).
 
A la selection d'un de ces éléments il se passe un truc (ActionPerformed)
 
J'aimerai que l'utilisateur, en plus de pouvoir choisir dans le combo, puisse tapper le nom de l'item qu'il veux directement.
 
Le probleme c'est que quand on est entrain d'éditer le combo et qu'un ajout dynamique arrive, ce que tappe l'utilisateur est perdu en lui remettant dans le combo le texte initial.
 
Je cherche donc a faire que l'ajout dynamique n'influ pas sur ce que tappe l'utilisateur.
 
voila  [:volta]


 
faut crée une file d'attente:
 
si l'utilisateur saisie qq chose dans le combobox, chaque element devant etre ajouté sont mis dans un vecteur en attendant que la saisie soit finie.


Message édité par veryfree le 03-05-2004 à 13:35:51
Reply

Marsh Posté le 03-05-2004 à 13:35:30    

EpoK a écrit :

:jap:  
 
Bon je vais la refaire :)
 
Donc j'ai un combobox dans lequel est ajouté des éléments dynamiquements. (~ toute les 15s).
 
A la selection d'un de ces éléments il se passe un truc (ActionPerformed)
 
J'aimerai que l'utilisateur, en plus de pouvoir choisir dans le combo, puisse tapper le nom de l'item qu'il veux directement.
 
Le probleme c'est que quand on est entrain d'éditer le combo et qu'un ajout dynamique arrive, ce que tappe l'utilisateur est perdu en lui remettant dans le combo le texte initial.
 
Je cherche donc a faire que l'ajout dynamique n'influ pas sur ce que tappe l'utilisateur.
 
voila  [:volta]


 
Tu sous-classe JComboBox, et dans le listener ActionPerformed tu crée un flag qui se met à true entre le moment ou l'utilisateur a activé le combo et le moment ou il valide un choix.
Pendant que le flage est à true : pas d'ajout dans ton combo.
C'est crade mais je vois rien d'autre.
 
[edit suite au grillage] effectivement, c'est plus simple si tu les mets en file d'attente, t'as plus qu'à attendre le prochain actionPerformed sur le composant pour tous les ajouter.
Pas besoin que le truc soit à jour si l'utilisateur s'en sert pas...


Message édité par seabee le 03-05-2004 à 13:37:44
Reply

Marsh Posté le 03-05-2004 à 16:58:59    

EpoK a écrit :

:jap:  
 
Bon je vais la refaire :)
 
Donc j'ai un combobox dans lequel est ajouté des éléments dynamiquements. (~ toute les 15s).
 
A la selection d'un de ces éléments il se passe un truc (ActionPerformed)
 
J'aimerai que l'utilisateur, en plus de pouvoir choisir dans le combo, puisse tapper le nom de l'item qu'il veux directement.
 
Le probleme c'est que quand on est entrain d'éditer le combo et qu'un ajout dynamique arrive, ce que tappe l'utilisateur est perdu en lui remettant dans le combo le texte initial.
 
Je cherche donc a faire que l'ajout dynamique n'influ pas sur ce que tappe l'utilisateur.
 
voila  [:volta]


 
Problème typique de concurence d'accès -> synchronisation.
 
Comme a dit Veryfree tu peux mettre à jour dans un tampon intermédiaire, mais le bout de code qui bascule le tampon dans la combo doit avoir un accès exclusif à la combo. Pendant ce temps l'utilisateur ne pourra surement rien saisir, mais ça doit être inperceptible si tu copies pas 500 mille éléments


Message édité par pascal34 le 03-05-2004 à 17:03:51
Reply

Marsh Posté le 03-05-2004 à 21:27:13    

mais disont qu'il tappe un truc, mais il oublit le nom et qu'il déroule le combo pour choisir, la liste serra à jour ??

Reply

Marsh Posté le 05-05-2004 à 10:53:14    

y'a un rique, si la combo est mise à jour entre le moment ou il fini de saisir et le moment ou il déplie la combo pour chercher.
 
Pour éviter de genre de problèmes tu devrais peut-être envisager de découpler la zone de saisie et la combo en TextField et liste non-modifiable. S'il y a une mise à jour de la liste, l'utilisateur ne perd pas ce qu'il a commencé à saisir et quand il sélectionne un élément de la liste, tu mets à jour le champ texte.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed