Saisie assiste
Fermé
laurent2403
Messages postés
79
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
-
27 juil. 2013 à 12:12
laurent2403 Messages postés 79 Date d'inscription jeudi 11 novembre 2010 Statut Membre Dernière intervention 23 février 2020 - 28 juil. 2013 à 00:27
laurent2403 Messages postés 79 Date d'inscription jeudi 11 novembre 2010 Statut Membre Dernière intervention 23 février 2020 - 28 juil. 2013 à 00:27
A voir également:
- Saisie assiste
- Saisie gestuelle iphone - Guide
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
- Saisie automatique google - Guide
2 réponses
arthurg95
Messages postés
2421
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
4 juin 2014
341
Modifié par arthurg95 le 27/07/2013 à 13:09
Modifié par arthurg95 le 27/07/2013 à 13:09
Bonjour,
Tu mets un ActionListener sur le JTextField, je ne sais pas trop comment il s'active, si c'est à la saisie ou quand on clique dessus pour commencer à saisir, enfin tu t'adaptera.
Et à chaque lettre tapé, tu fais un getText() sur ton jTextField, et tu fais une requête SQL qui correspond à tes critères. Et tu affiches les résultats comme tu veux, dans un panneau, sous la saisie, ... Enfin ça c'est de la mise ne forme ;)
Edit : L'action listener se déclanche sur appuie de la touche entrée ;)
Tout est dit, mais comme personne n'écoute il faut toujours répéter
Tu mets un ActionListener sur le JTextField, je ne sais pas trop comment il s'active, si c'est à la saisie ou quand on clique dessus pour commencer à saisir, enfin tu t'adaptera.
Et à chaque lettre tapé, tu fais un getText() sur ton jTextField, et tu fais une requête SQL qui correspond à tes critères. Et tu affiches les résultats comme tu veux, dans un panneau, sous la saisie, ... Enfin ça c'est de la mise ne forme ;)
Edit : L'action listener se déclanche sur appuie de la touche entrée ;)
Tout est dit, mais comme personne n'écoute il faut toujours répéter
laurent2403
Messages postés
79
Date d'inscription
jeudi 11 novembre 2010
Statut
Membre
Dernière intervention
23 février 2020
2
28 juil. 2013 à 00:27
28 juil. 2013 à 00:27
OK merci pour votre aide je vais tester ...
27 juil. 2013 à 13:12
Cependant pour la partie SQL je trouve embêtant de faire des requêtes à chaque fois, ici il y a surement un seul utilisateur donc ça marche mais "en vrai" faire des requêtes sur la base de données à chaque lettre tapée par chaque utilisateur, ça fait beaucoup de requêtes. Il vaudrait mieux faire une seule fois la requête et récupérer tous les mots possibles en cache.
Evidemment cela ne vaut que s'il y a relativement peu de données dans la base, dans le cas contraire, il faut carrément oublier l'idée de l'assistant et se limiter à la recherche du mot complet.
27 juil. 2013 à 13:33
Et oui, tu as raison pour le KeyListener, mais comme je ne savais pas comment l'ActionListener fonctionnait sur le JTextField, je trouve toujours plus simple l'utilisation D'actionListener plutôt que Key, ça évite les problème de focus. Mais bon ici pas le choix.
Donc, oui tu peux récupérer une fois la base à partir de 3 lettres par exemple (tu testes les 3 lettres avec un getText() et un lenght).
Et tu mets toutes les entrées dans une liste ou une table (il faut voir au niveau de l'optimisation pour la recherche ensuite). Et a chaque lettre tapé, tu n'affiches que ceux qui correspondent.
Problème : S'il efface une lettre il faut penser à actualiser, si il efface une des 3 premières lettres il faut refaire la requête !