Я пытаюсь переопределить поведение клавиши Tab в JRadioButton, чтобы она работала как переключатели в других приложениях с графическим интерфейсом, то есть:
- Клавиши со стрелками циклически переключаются между кнопками в ButtonGroup (у меня это работает)
- Вкладка перемещает фокус на следующий компонент после последнего переключателя в группе (проблемная область)
У меня есть действие, которое выполняет необходимые шаги, чтобы найти правильный компонент для фокусировки и все такое, но добавление записи в InputMap, похоже, не работает:
getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "jumpNext");
getActionMap().put("jumpNext", new JumpNextAction());
Моя запись во входной карте для Tab, кажется, игнорируется, так как действие никогда не выполняется. Я предполагаю, что это, вероятно, потому, что KeyboardFocusManager или что-то связанное с этим потребляет событие Tab, прежде чем оно попадет на карту ввода компонента.
Любые идеи о том, как я могу остановить это поведение и использовать вместо этого свое собственное поведение Tab?