Я создал пользовательский JComboBox
с пользовательским всплывающим окном, которое реализует KeyListener
. Я хотел, чтобы элемент выбирался из всплывающего окна cmbBox при нажатии Tab
или Enter
, поэтому я установил setFocusTraversalKeysEnabled(false)
как для поля со списком, так и для всплывающего окна.
Проблема с этим подходом заключается в том, что теперь мне нужно добавить еще один KeyListener
в поле со списком, когда я использую его в контейнерах, чтобы сместить фокус.
Могу ли я запустить событие передачи фокуса (гипотетически) или что-то подобное в моем пользовательском JComponent, который перенесет фокус в свой родительский компонент, чтобы мне не приходилось добавлять ключевых слушателей везде, где я его использую. Я использовал transferFocus()
, но он не передает фокус.
Я еще не запачкал руки привязками клавиш, но есть ли привязка клавиш для переноса фокуса?
Спасибо
Я пытаюсь воссоздать sscce, но это оказывается сложно. Пожалуйста, несите.