Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация Suggestions / 5 сообщений из 5, страница 1 из 1
14.02.2007, 10:23:18
    #34329244
travmik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация Suggestions
Всем доброго времени суток. Задача заключается в следующем: необходимо реализовать функционал suggestions(a la google). Вариант пока напрашивается один: считывать нажатие клавиш на JTextField и как только набирается "критическая масса"(скажем 3 буквы) производить поиск в коллекции слов, которые начинаются на эти три буквы и т.д. Затем найденные слова выводить в JPopupMenu с возможностью по стрелке "вниз" переводить на меню фокус. Вот такое вот решение. Интересно узнать: оптимально ли это? Может кто-то сталкивался с подобной проблемой и находил где-то сторонние решения или сам решал как-то оригинально?
Спасибо.
...
Рейтинг: 0 / 0
14.02.2007, 17:08:18
    #34331182
travmik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация Suggestions
Вот минус у предложенной мной реализации - если много вариантов(саджестов), то список будет некрасиво большой, а то и вообще за пределы экрана вылезет. Неудобно, одним словом.
Неужели никто не сталкивался???
...
Рейтинг: 0 / 0
14.02.2007, 18:11:20
    #34331333
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация Suggestions
можно свою панель рисовать со скролом и отображать в JFrame.getGlassPane() (как вариант). не обязательно использовать JPopupMenu.

подробности в Портянкине "Эффективные пользовательские интерфейсы", стр. 148
...
Рейтинг: 0 / 0
14.02.2007, 20:33:07
    #34331541
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация Suggestions
Качаем книгу Swing Hacks. Смотрим Hack 50. Auto-Completing Text Fields.
...
Рейтинг: 0 / 0
14.02.2007, 21:05:01
    #34331570
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Реализация Suggestions
P.S. А вообще, когда то самому пришлось делать auto complete. Cделал так:

1) Вешал DocumentListener
2) При вводе составлял список слов
3) Создавал JList, клал его в JScrollPane
4) JScrollPane клал в JWindow
5) Отображал последний точно под полем ввода
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация Suggestions / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]