comment recuperer un texte écrit dans un JComboBox - Java - Programmation
Marsh Posté le 28-03-2004 à 00:27:12
http://java.sun.com/docs/books/tut [...] l#editable
tu utilises un actionlistener sur le combobox si tu veux récupérer le texte au moment de la validation (avec getSelectedItem()).
Pour des besoins plus spécifiques, il faut jouer avec le ComboBoxEditor, mais c'est pour les ceintures noires du swing.
Marsh Posté le 28-03-2004 à 00:36:20
non ca c pour recuperer un item du combo box, je veux juste recuperer ce qui est saisi au clavier ( par exemple quand on recupere ce qui est saisi dans un JTextField on fait un getText() mais ici je ne veux pas recuperer un item du combo box, mais recuperer ce que j'ai saisi dans le combo box à savoir le combo box est editable, i.e on peut ecrire dedans)
Marsh Posté le 28-03-2004 à 00:49:41
Tu as testé ? La doc dit que ça lance l'événement lors de l'appui sur [entrée].
http://java.sun.com/j2se/1.4.2/doc [...] ctedItem()
Citation : If the combo box is editable, then this value may not have been added to the combo box with addItem, insertItemAt or the data constructors. |
dans le tutorial :
Citation : An editable combo box fires an action event when the user chooses an item from the menu and when the user types Enter. Note that the menu remains unchanged when the user enters a value into the combo box. If you want, you can easily write an action listener that adds a new item to the combo box's menu each time the user types in a unique value. |
J'ai la flemme de tester, mais je sens bien que ça marche comme ça quand même.
Marsh Posté le 28-03-2004 à 01:08:58
Merci, c'est à peut près ce que je recherche.
mais est-ce que c'est possible de recuperer la valeur pendant la saisie au clavier (sans taper sur entrer)
Marsh Posté le 28-03-2004 à 01:11:37
sironimo a écrit : Merci, c'est à peut près ce que je recherche. |
peut-être, essaye avec (String)cbb.getEditor().getItem()
et vient me filer la réponse STP.
Marsh Posté le 28-03-2004 à 01:23:33
je suis quand meme obligé de cliquer autre part pour recuperer la valeur.
tu sais sous internet explorer, quand tu commence a entrer une adresse, t'a la liste deroulante qui s'affiche par rapport à ce que t'a commencer a ecrire (quand tu tape www.g ben il t'affiche tous les sites où t'a ete qui a pour adresse qui commence par www.g) et au fur a mesure que tu rentre des lettres la liste diminue.
c'est à peut près ce que je cherche à faire (pendant la saisie et non après).
Marsh Posté le 28-03-2004 à 01:33:05
sironimo a écrit : je suis quand meme obligé de cliquer autre part pour recuperer la valeur. |
keyListener?
Marsh Posté le 28-03-2004 à 03:02:51
sironimo a écrit : ca marche pas avec un combobox |
java.lang.Object |
java/awt/Component.html#addKeyListener(java.awt.event.KeyListener)
Marsh Posté le 28-03-2004 à 03:09:36
tu peux faire combo.addKeyListener...
mais tu ne peux pas recuperer au fur et a mesure ce qui est saisie contrairement à un jtextfield par exemple
Marsh Posté le 28-03-2004 à 03:28:05
oué, voici le pb :
les Combobox ne savent pas qu'ils touchent à des String (ils pourraient par exemple manipuler des schémas techniques avec la même infrastructure, en utilisant un Renderer et un Editor kivonbien), ils sont cablés sur un ComboBoxEditor qui lui sait ce qu'il manipule. Il faut donc que tu passes pas un ComboboxEditor custom.
mon conseil : va voir me code source de BasicComboBoxEditor, qui est assez court, et pompe l'idée en y ajoutant ta ListOfValues (c'est le nom courant du truc que tu veux ajouter).
edit : typo
Marsh Posté le 28-03-2004 à 15:10:58
et si ca ne te derange pas, ou je peux trouver ton code source?
Marsh Posté le 28-03-2004 à 21:19:53
sironimo a écrit : et si ca ne te derange pas, ou je peux trouver ton code source? |
heu je dois t'avouer que je l'ai eu là : https://connect.apple.com/
mais ça doit être sur le site de sun pour les autres palteformes.
je vais faire un truc illégal pour pas que tu te fasses chier :
Code :
|
Marsh Posté le 28-03-2004 à 00:08:59
Bonjour,
voila comme l'explique clairement le titre, je voudrais savoir comment on recupere un texte, saisie au clavier, d'un JComboBox (éditable) car il n'existe pas de methode getText() (comme pour JTextField par exemple).
Merci d'avance.