IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Autocompletion évoluée JTextField ou JCombobox


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2012
    Messages : 18
    Par défaut Autocompletion évoluée JTextField ou JCombobox
    Bonjour,

    J'ai développé une petite application. Au sein de celle-ci j’affiche, entre autre, un JTextField relié à une JWindow contenant une JList.

    En gros quand j’écris dans mon TextField, je parcours mon modèle (contenant 1500 noms) et je regarde si les lettres tapées dans mon JTextField font partie d’un de mes noms.
    Dès qu’il y a une action sur mon JTextField :
    Je nettoie le model de ma JList
    Je parcours mon modèle (contenant 1500 noms)
    Si les lettres tapées dans mon JTextField font partie d’un de mes noms j’ajoute le nom au modèle de ma JList

    A l’heure actuelle ça fonctionne. Néanmoins même en limitant la recherche à un minimum de deux caractères c’est assez long à s’afficher je trouve.

    Du coup je rechercherais des API toute faite qui m’apporterait surement une meilleure performance.
    J’ai regardé de l’auto complétion du côté de SwingX, le problème c’est qu’il faut au moins tapé la première lettre du nom et la liste de choix au sein de la combobox n’évolue pas.

    Par exemple si je veux chercher la famille « Fly »
    Si j’ai Abdel Fly, Yves Fly, Akim Fly et bien avec auto-completion ça ne marche pas.
    Ce que j’aimerais c’est avoir les trois noms de proposés…


    A noter que même si j'affiche un TextField, avoir la même chose avec une combo ne me gêne pas, au contraire.

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Il te faut un arbre de préfixes, dans lequel "Abdel Fly" serait stocké à dans arbre.F.L.Y

    Si on pose une limite de profondeur, l'arbre pourrait se représenter par:
    arbre
    > F
    > > FL
    > > > FLA {Flamengo Sarah}
    > > > FLY {Fly Abdel, Fly Akim}
    > M
    > > MA
    > > > MAR {Martin Paul, Martin Jean}

    En gros, l'arborscence se parcoure lettre par lettre, pour tomber sur une liste de noms valides.

    Pour SwingX qui ne s'actualise pas, j'aurai tendance à croire que tu n'as pas mis le bon listener en place

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/03/2014, 16h21
  2. Tableau JComponent[], lire les JTextfield et JComboBox qui le compose
    Par gdlbb dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 22/07/2008, 15h52
  3. Réponses: 3
    Dernier message: 11/01/2007, 17h52
  4. Débutant jTextField jComboBox
    Par naima2005 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/06/2006, 18h00
  5. [JComboBox]comment recuperer le JTextField
    Par alain57 dans le forum Composants
    Réponses: 3
    Dernier message: 04/11/2005, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo