# JTextField/JComboBox mit Autovervollständigung



## p3lotud0 (10. Apr 2007)

Hi,

ich möchte gerne ein JTextField oder besser ne JComboBox mit Autovervollständigung realisieren.
Nach erfolglosen Versuchen was geeignetes selber zustand zu bekommen, habe ich auf ein schon vorhandenes Beispiel zurückgegriffen, was man hier finden kann (für ComboBox übrigens auch).
Das funktioniert auch super, allerdings mit einer kleinen Einschränkung:
Es vervollstaendigt nur Begriffe, die auch in der Liste vorhanden sind. Ist also nur ne Autovervollständigung für eine Auswahlliste "quasi". Begriffe die nicht in der Liste stehen, werden nicht zugelassen und das ist natürlich nicht so toll bzw. nicht verwendbar.

Leider steige ich dort aber nicht so viel durch, dass ich ausmachen kann, wo ich den Code ändern muss, dass dieses auch zugelassen wird. Hat vielleicht einer von Euch da mehr Durchblick oder vielleicht eine Code-Alternative für meinen Realisierungswunsch?

Vielen Dank schon mal im Voraus!!

Saludos,

p3lotud0


----------



## SlaterB (10. Apr 2007)

zunächst solltest du mal näher beschreiben was du möchtest 

wie sollte das denn sonst funktionieren wenn nicht mit einer Liste von Begriffen?
soll sich Java zufällige Vervollständigungen ausdenken?


----------



## p3lotud0 (11. Apr 2007)

Nein, natürlich nicht. Vielleicht habe ich mich da im Begriff vertan. Ich meine mit Autovervollständigung ein mögliches Vorschlagen eines Wortes. Wenn ich ne Liste habe mit "Apfel, Birne, etc." und ich "Ap" im Textfeld (oder Alternative) eingebe, soll er mir zwar Apfel anzeigen, aber wenn ich dann weiterschreibe z.B. "App" und dieses Wort nicht in der Liste ist, soll er mich natürlich weiterschreiben lassen. Bei z.B. Google lässt er nicht nur die Begriffe zu, die ich schon mal benutzt habe


----------



## Ariol (11. Apr 2007)

Zum Ansatz:

Einfach einen Keylistener auf das Eingabefeld der JComboBox legen. Dann den eingegebenen Text mit den Texten aus der Liste vergleichen und bei Übereinstimmung den Text ins Eingabefeld schreiben.
Dann den zusätzlichen Text markieren und den Cursor wieder vor die Markierung setzen, damit der vorgeschlagene Text bei erneuter Eingabe überschrieben wird.

Sollte doch recht einfach zu realisieren sein


----------



## p3lotud0 (12. Apr 2007)

Ja, aber warum machen, wenn es schon eine Lösung gibt. Siehe oben im Link. Dachte nur, dass man da schnell was abändern muss, dass er einfach auch nicht enthaltene Wörter dann zulässt. Ich persönlich bin nur nicht durchgestiegen wo, aber hätte ja sein können, dass ein anderer das sofort sieht.


----------

