Как сделать автозаполнение списка, когда я начну печатать в текстовом поле? - PullRequest
1 голос
/ 29 августа 2011

У меня есть текстовое поле, и если я хочу что-то написать в поле, оно покажет мне список возможных вариантов, относящихся к этой букве, и я думаю, что это называется автозаполнением.мне идея или образец о том, как это сделать?

Спасибо ..

Ответы [ 3 ]

4 голосов
/ 29 августа 2011

Возьмите поле со списком и прослушайте все изменения в текстовом поле.На каждом событии читайте фактический контент и запрашивайте ваш список источников для возможных совпадений.Затем используйте результат для заполнения связанного списка.

Возможно, вы захотите начать автозаполнение, когда пользователь введет две или три буквы, в противном случае список может быть слишком длинным.

2 голосов
/ 29 августа 2011

посмотрите здесь равно AutoCompleteComboBox / JFextField, и есть два класса: один для JComboBox , второй для JTextField , обратите внимание, что для функции автозаполнения требуются оба класса для что

1 голос
/ 29 августа 2011

Я чувствую себя щедрым, поскольку вы действительно должны Google ...

По мере того, как пользователь печатает, вам нужно запросить вашу БД с like '<userInput>%' и вернуть результаты в раскрывающемся списке.Вы, вероятно, хотите дождаться паузы в наборе текста пользователем, чтобы не забивать вашу БД.

В отсутствие базы данных структура данных, которая бы хорошо работала для этого, называется Trie, поскольку вы можете пройти ее через начальный ввод и представить все последующие слова.

...