Auto Completion/Suggest

moda2konkel

Grünschnabel
Hi Leute :)

Ich habe ein kleines Problem, für das ich einen Denkanstoß benötige.

Meine Ausgangssituation ist Folgende.
Ich habe ein Suchfeld (JTextField), womit eine Datenbank abgefragt wird.
Neben der Historie (bereits Eingegebenes) will ich nun eine AutoVervollständigung mit einbauen.
Realisiert habe ich das derzeit mit einer Echtzeit-Query der aktuellen Eingabe und eingebunden ist das dann über diverse Listener. Das klappt auch alles soweit.

Ich benötige nun aber eine Art Verzögerung.
Vorgestellt habe ich mir das nun aber so, dass ich über einen neuen Thread asynchron den Query an den Server schicke, während der User weiter schreiben kann. Wenn die Antwort gekommen ist mache ich wieder einen Abgleich mit der aktuellen Eingabe.

Die Sache ist die, dass ich den Thread derzeit (u.a.) über den KeyListener anstoße, und folglich der Server mit jedem Tastendruck ein Query bekommt.

Wie schaffe ich es nun, dass man erstmal tippen kann und der Thread 500ms nach Eingabestart ODER nach Eingabeende (man drückt keine Taste mehr) ausgeführt wird.

Ich hoffe das war verständlich und ihr könnt mir weiterhelfen.

Vielen lieben Dank schonmal

Beste Grüße
 
wie wärs mit nem eigenständigen thread? den startest du jedesmal nach key_up und der erste befehl ist ein Thread.sleep(500);?

ist glaub ich die leichteste lösung. wenn auch unschön. Aber für was hat Java Multithreading:D
 
Zurück