2009-07-14 7 views
4

Mon but est de créer une sorte de composant swing qui peut faire deux choses:Combo Box et composant de recherche en Java

  1. Fonction comme zone de liste déroulante (sélectionner dans une liste de valeurs)
  2. Allow une l'utilisateur à taper dans le composant et afficher uniquement les éléments pertinents de la liste d'origine (comme certaines boîtes de recherche AJAX en ligne)

Je voudrais vraiment faire cela en personnalisant un composant existant swing donc je ne dois pas écris à partir de zéro, mais jusqu'à présent, je n'ai rien trouvé qui puisse le faire. J'ai considéré les énormes quantités de hacks qu'il faudrait pour obtenir un JComboBox, mais je ne pense pas que ça marchera.

Des recommandations sur ce que la meilleure façon de faire serait? Points bonus pour les solutions qui ne sont pas 100% de code personnalisé.

Répondre

3

Ce que vous cherchez peut être trouvé en utilisant autocomplete dans vos chaînes de recherche.

Comboboxes qui soutiennent ce que vous voulez pour exister que dans plusieurs bibliothèques juste un exemple:

Glazed Lists

Le site suivant contient quelques échantillons (pour glazedlists aussi) et d'autres liens vers d'autres bibliothèques. C'est un peu daté mais je suppose que l'information est toujours correcte.

Adding Auto-Completion Support to Swing Comboboxes

+0

listes vitrées se sont avérés très utiles. J'ai cependant dû ajouter un code personnalisé pour les faire faire exactement ce que je voulais. J'ai couru dans la bête laide qui est le modèle de fil de gui de java, et cet article s'est avéré être très instructif: http://www.javaworld.com/javaworld/jw-08-2007/jw-08-swingthreading.html – twolfe18