【发布时间】:2012-01-29 15:48:03
【问题描述】:
当一位匿名用户对我的一个涉及 KeyListeners 的答案投反对票并建议改用 Key Bindings 时,就出现了这个问题。这个匿名用户告诉我 KeyListener 接口是一个旧的 AWT 解决方案,不应该使用。
但是,我不知道我是否应该完全相信这些信息。我在各种网站上都进行了研究,包括 oracle,但没有发现任何关于 KeyListeners 或 Key Bindings 的功能。我知道这两个执行类似任务的事实,但不确定“幕后”到底发生了什么。
我有点倾向于在未来的项目中使用 Key Bindings,仅仅是因为我获得的研究表明 KeyListener 接口要求相关组件具有焦点,而 Key Bindings 没有。但是,我很困惑。为什么会这样? Key Bindings 的触发方式与 KeyListeners 有何不同?
P.S.我很确定这很少见,但是在某些情况下使用 KeyListeners 更合适吗?
【问题讨论】:
标签: java swing key-bindings keylistener