Java中的键绑定与键侦听器

Java中的键绑定与键侦听器

我注意到在Java / Swing中,似乎至少有两种不同的方法来处理关键事件:

每个人的优点/缺点是什么,何时你更喜欢一个而不是另一个?


Qyouu
浏览 441回答 3
3回答

慕标琳琳

什么时候你应该更喜欢一个而不是另一个?因为它们被引入所以更喜欢Key Bindings。A KeyListener是与事件的较低级别连接。关键绑定的页面涵盖了我倾向于使用它们而不是使用它们的很多原因KeyListener。它列出了许多简单地“不可用”的东西KeyListener。EG选择:WHEN_FOCUSEDWHEN_ANCESTOR_OF_FOCUSED_COMPONENTWHEN_IN_FOCUSED_WINDOW我阅读链接文档越多,我就越不能理解提出问题的必要性。例如:键绑定的替代方法是使用键侦听器。键侦听器可以作为键盘输入的低级接口,但是对于单个键的响应,键绑定更合适,并且更容易维护代码。如果在组件没有焦点时要激活键绑定,则键侦听器也很困难。密钥绑定的一些优点是它们有点自我记录,考虑包含层次结构,鼓励可重用的代码块(Action对象),并允许轻松删除,自定义或共享操作。此外,它们可以轻松更改操作绑定的键。另一个优点Actions 是他们有一个启用状态,它提供了一种简单的方法来禁用该操作,而无需跟踪它附加到哪个组件。文字组件正如@Robin所指出的,文本组件也具有DocumentListener&DocumentFilter可以添加到更适合文本文档的功能。有关文档侦听器和过滤器的更多信息,请参阅文本组件功能。

炎炎设计

请问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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java