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
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