AutoCompleteDecorate реализован на JComboBox - PullRequest
1 голос
/ 26 января 2012

Для тех, кто знаком с SwingX AutoCompleteDecorator, у меня есть вопрос, касающийся обработки JComboBox Popup Visibility.Я использовал AutoCompleteDecorate.decorate(JComboBox combobox) в своем текущем проекте, о котором я уже упоминал в предыдущих постах, проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь вводит ключевое слово, которое не соответствует ни одному из элементов списка, всплывающее окно остается видимым.Для удобства пользователей я бы хотел скрыть всплывающее окно со списком, если введенное ключевое слово не соответствует ни одному из элементов списка.

1 Ответ

1 голос
/ 30 января 2012

Если вам нужна функция автозаполнения, но вы не хотите, чтобы всплывающее окно мешало (особенно, как вы упоминаете, когда введенный текст не соответствует ни одному элементу), вы можете попробовать открыть исходный код JIDE Общий слой .Он имеет очень полезную (я сам много использую) функцию автозаполнения, которую вы можете применить к JComboBox es, JTextField s и т. Д.

Вы можете увидеть обзор компонентов Web-запуска Java.щелкнув ссылку «RUN IT» на приведенной выше странице или нажав здесь .Перейдите к

Demos->AutoCompletion Demo->AutoCompletion combo box and text field->AutoCompletion JTextField with a hidden data

, чтобы попробовать.Вы также можете просмотреть исходный код, нажав Просмотреть исходный код .

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

Однако, насколько я тестировал, в выпадающих списках JIDE с автозаполнением также есть «проблема», которая оставляет их всплывающими открытыми, даже если совпадений не найдено, но я предлагаю здесьпопытаться выполнить автозаполнение текстового поля, которое вообще не имеет всплывающих окон (они автоматически заполняются, выделяя часть сопоставленного текста, которую вы не вводили вручную).

...