2013-07-02 4 views
2

Я разрабатывал приложение java swing для добавления вида и изменения списка лекарств. При добавлении лекарств он должен отображать список из базы данных (например, в окне поиска google). Например, если мы нажимаем «p» он должен показать «парацетамол» из базы данных.Как создать окно предложений

+2

Посмотрите на декоратор SwingLabs AutoComplete – MadProgrammer

+0

Вы также можете ознакомиться с примером в [Как использовать текстовые области] (http://docs.oracle.com/javase/tutorial/uiswing/components/textarea.html), который может дать вам некоторые идеи. – MadProgrammer

+0

это работает. Но мне нужно текстовое поле. – Bhavisankar

ответ

1

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

+2

Если только текстовые компоненты, где это просто: P – MadProgrammer

+0

Хе-хе, хорошо, чтобы разработать немного, вы можете использовать интерфейс KeyListener, а в текстовое поле добавить свою собственную реализацию этого интерфейса. Вы можете сохранить текущее содержимое текстового поля в переменной, а при нажатии клавиши вы сравните текст в поле с текстом в переменной хранилища. Если он отличается, текст изменился, и вы должны вызвать метод запроса к базе данных. Вы также можете проверить, сколько символов в поле, т. Е. Не запрашивать базу данных, если не введено 3 или более символов, чтобы сохранить избыточные вызовы базы данных. – Davos555

+1

В текстовом поле используйте 'DocumentListener', а не' KeyListener'. – trashgod

Смежные вопросы