Я хочу изменить фокус, если пользователь нажимает ENTER в выпадающем списке. Во-первых, я использовал прослушиватель действий, но это также будет срабатывать, когда пользователь изменит свое значение, нажав клавишу со стрелкой вверх или вниз или выбрав значение в раскрывающемся списке.JavaFX Combobox: манипуляционная клавиша нажата для ввода
Поэтому я подумал, что могу решить это, зарегистрировав обработчик ключей. Но это не работает для клавиши ENTER.
Есть ли способ решить мою проблему?
Edit:
К сожалению я думал, что мое введение достаточно.
Итак, у меня есть небольшая форма с некоторыми текстовыми полями и comboBox. Чтобы повысить удобство использования, пользователю необходимо нажать клавишу ввода, чтобы перейти к следующему полю. Это прекрасно работает для текстовых полей:
textfield.setOnAction(e -> {
cmbTax.requestFocus();
});
Но если я зарегистрировать инициативную-слушателя, оно не будет выполнять мои требования, потому что он будет всегда срабатывает, когда значение изменяется:
cmbTax.setOnAction(e->textfield2.requestFocus());
Так я пытался ключевой слушатель, но он не реагирует на кнопку ENTER, потому что он обрабатывается внутренним перед моим слушателем будет называться:
cmbTax.getEditor().setOnKeyPressed(this::handleKeyPressedForComboBox);
приветы
Сообщение [mcve], показывают, что вы делали до сих пор и описав, где у вас есть проблемы. – MBec