为了账号安全,请及时绑定邮箱和手机立即绑定

Java中的键绑定与键侦听器

Java中的键绑定与键侦听器

Qyouu 2019-08-23 10:28:15
Java中的键绑定与键侦听器我注意到在Java / Swing中,似乎至少有两种不同的方法来处理关键事件:关键绑定关键听众每个人的优点/缺点是什么,何时你更喜欢一个而不是另一个?
查看完整描述

3 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

什么时候你应该更喜欢一个而不是另一个?

因为它们被引入所以更喜欢Key Bindings。A KeyListener是与事件的较低级别连接。

关键绑定的页面涵盖了我倾向于使用它们而不是使用它们的很多原因KeyListener。它列出了许多简单地“不可用”的东西KeyListener。EG选择:

  • WHEN_FOCUSED

  • WHEN_ANCESTOR_OF_FOCUSED_COMPONENT

  • WHEN_IN_FOCUSED_WINDOW

我阅读链接文档越多,我就越不能理解提出问题的必要性。例如:

键绑定的替代方法是使用键侦听器。键侦听器可以作为键盘输入的低级接口,但是对于单个键的响应,键绑定更合适,并且更容易维护代码。如果在组件没有焦点时要激活键绑定,则键侦听器也很困难。密钥绑定的一些优点是它们有点自我记录,考虑包含层次结构,鼓励可重用的代码块(Action对象),并允许轻松删除,自定义或共享操作。此外,它们可以轻松更改操作绑定的键。另一个优点Actions 是他们有一个启用状态,它提供了一种简单的方法来禁用该操作,而无需跟踪它附加到哪个组件。

文字组件

正如@Robin所指出的,文本组件也具有DocumentListenerDocumentFilter可以添加到更适合文本文档的功能。有关文档侦听过滤器的更多信息,请参阅文本组件功能


查看完整回答
反对 回复 2019-08-23
?
炎炎设计

TA贡献1808条经验 获得超4个赞

请问no access to the x,y location,我的观点--->为了更好的帮助,基于SSCCE发布自己的问题,简短,可运行,可编译,AFAIK同时存在3个或更多keyPressed(键快捷键)或实际订购的限制keyPressed / release for key short cut,for rest is better,comfotable,manbable to KeyBindings over KeyListener

查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 438 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信