Сравнение функциональных возможностей KeyListeners и Key Bindings

Этот вопрос возник, когда анонимный пользователь проголосовал против моего ответа с участием KeyListeners и предложил вместо этого использовать Key Bindings. Этот анонимный пользователь сообщил мне, что интерфейс KeyListener был старым решением AWT и не должен использоваться.

Однако я не знаю, следует ли мне полностью доверять этой информации. Я исследовал оба сайта, включая Oracle, и ничего не нашел относительно функциональности KeyListeners или Key Bindings. Я осведомлен о том, что эти двое выполняют схожие задачи, но я не уверен, что именно происходит, так сказать, «за кулисами».

Я как бы склоняюсь к использованию привязок клавиш в будущих проектах просто потому, что я получил исследования, предполагающие, что интерфейс KeyListener требует, чтобы рассматриваемый компонент был в фокусе, а привязки клавиш - нет. Но я сбит с толку. Почему это так? Чем связки клавиш запускаются иначе, чем прослушиватели ключей?

P.S. Я почти уверен, что это редкость, но есть ли обстоятельства, при которых использование KeyListeners более уместно?

7
задан Andrew Thompson 29 December 2011 в 05:24
поделиться