Я знаю, что вы можете позвонить JComponent.setFocusable(false)
, чтобы сделать компонент Java не сфокусированным. Но так как в моем приложении есть МНОЖЕСТВО компонентов, которыми я хочу быть таким, мне было интересно, есть ли более простой способ, чем вызывать его для каждого из десятков объектов. Как значение UIDefaults
?
Я ищу это, потому что мое приложение работает в полноэкранном режиме, и на JFrame
есть KeyListener
, который прослушивает нажатия клавиш для запуска различных событий. Но я обнаружил, что всякий раз, когда нажимается JButton
или другой добавленный компонент, он получает фокус, и ключевые события никогда не достигают JFrame
. Таким образом, более элегантный способ перехвата ключевых событий одним родительским контейнером, независимо от того, на чём сфокусирован дочерний объект, также поможет решить мою проблему.