Liste deroulante avec saisie semi-auto ??? - Java - Programmation
Marsh Posté le 03-06-2004 à 23:39:27
...t sur ???
Moi actuellement j'ai juste des listes deroulantes toutes connes :
JComboBox combo = new JComboBox();
combo.setEditable(true);
combo.addItem("toto" );
combo.addItem("tata" );
combo.addItem("titi" );
et la propagation comme tu dis ne se fait pas...
Marsh Posté le 03-06-2004 à 23:45:35
http://java.sun.com/docs/books/tut [...] bobox.html
http://java.sun.com/j2se/1.4.2/doc [...] boBox.html
Marsh Posté le 03-06-2004 à 23:53:22
ben si tu regardes bien je le fe aussi mais comme la propagation comme tu dis ne marche pas...
Dans mon post si j'ecris 'ta' dans le box il ne devrait rester dans la liste que "tata" et plus "toto" et "titi"...or ce n'est pas le cas ...
Donc doit bien falloir ajouter des trucs
Marsh Posté le 03-06-2004 à 23:59:33
dans le tuto l'uneditable marche un peu comme tu veux...si tu ouvres la liste,en tapant ca te choisit le plus proche...
sous jBuilder j'utilisais des jdbNavField...mais c orienté bases de données...mais y'avait un équivalent non bd, g perdu le nom...
Marsh Posté le 04-06-2004 à 08:54:27
bah non malheureusement ... je reexplique vite fait quand le comportement que je desire avoir afin qu'il n'y ait pas de malentendu :
- je tape une lettre, 'a' par exemple
- la liste deroulante s'affiche alors ne laissant que les mots commencant par 'a' dans la liste
- je tape une deuxieme lettre 'b' par exemple
- il ne reste plus que des mots commencant par 'ab' et ainsi de suite...
Marsh Posté le 04-06-2004 à 12:52:16
j'ai fait ca un cou avec une zone de texte et une JList et a chaque mise a jour du champ de texte je met à jour la liste. Si aucun choix possible elle est invisible
Marsh Posté le 04-06-2004 à 20:33:47
bon ca a un peu changer ce que je voulais faire ...Mais j'arrive pas encore a le faire ...donc
Voici ce que je voudrais faire maintenant :
Donc ca part toujours d'un JComboBox editable
Qd je commence a saisir ma chaine, des que je commence a saisir, la premiere chaine qui convient doit apparaitre dans le champs editable... ensuite je continue a saisir...Je tape 1 caractere, si celui ci correspond toujours a la chaine actuelle ca ben je fais juste avance le curseur de saisi...Jusqu'a la fin du mot...
Si le mot n'apparait pas ben je peux saisir normalement...
J'ai deja fait un truc mais ca marche pas terrible terrible ...
Code :
|
Et en fait j'ai modifier cette classe pour pouvoir gerer les evenements clavier sur l'editor associé au JComboBox
Code :
|
Marsh Posté le 06-06-2004 à 21:18:43
ben pour l'instant ma solution marche pas au top ... si vous voulez l'essayer allez y ...et si vous trouvez comment la terminer ca sera encore mieux ... moi je crois que je vais passer a autre chose pour l'instant ...me suis deja assez pris la tete dessus...
Marsh Posté le 07-06-2004 à 00:13:49
oué ,c pas evident a developper ton truc.
peut etre qu'un jour ce sera en natif pour l'instant...
je pense que la meilleurs solution c'est de passer par une jlist en fait.
elle s'afficherai juste en dessous et tu lui ajoutera a la volé tout les item possible.
bref, bon courrage
Marsh Posté le 03-06-2004 à 23:14:47
Salut
J'essaie de faire une ptite interface graphique en java...et j'aimerai savoir comment faire une liste deroulante avec saisie semi-auto...
En fait donc dans mes listes deroulantes ya deja des choix possible (exemple : {agriculteur, ouvrier, etudiant}) et je voudrais donc pouvoir saisir le debut de mon texte dans la liste puis avoir au fur et a mesure la reduction des choix possibles... dans mon exemple si je tape 'a' dans la liste, il m'apparaitra plus que le choix agriculteur...
Je pensais faire ca avec des comboBox mais je vois pas trop comment controler tout ca ...
Merci @+