如何实现关键监听器?
Posted
技术标签:
【中文标题】如何实现关键监听器?【英文标题】:How to implement key listener? 【发布时间】:2019-04-01 04:25:09 【问题描述】:出于教育目的,我正在用 Java 构建一个 MIDI 钢琴小程序。为此,我想:
-
捕获按键的按下和释放
计算同一键按下和释放之间的时间。
实现满足上述条件的关键侦听器的最佳方法是什么?
只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?
【问题讨论】:
嗯.. 这个帖子怎么样? ***.com/questions/18037576/… 【参考方案1】:只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?
两者都没有。我认为您需要一个侦听器来处理按键和按键释放事件……对于所有按键。每个事件都包含一个 when
属性,您可以使用该属性来计算按键被按住的时间。
最后,请注意,小程序现在是不推荐使用的技术,因此这样做的教育价值是有限的,您编写的代码的实用价值也是如此。大多数浏览器不久前删除了所有 Java 插件/小程序支持。
https://www.theregister.co.uk/2016/08/24/oracle_reveals_java_applet_api_deprecation_plan/【讨论】:
Applet 类的 init() 函数内部 addKeyListner(new KeyAdapter() @Override public void keyTyped(KeyEvent e) System.out.println("Time: "+e.getWhen() ); System.out.println(e.getKeyText(e.getKeyCode())); );`但是当我按住一个键时,它似乎生成了多个按键,而不是维持一个按键。 它们是关键事件而不是击键。您需要在侦听器代码中过滤它们。以上是关于如何实现关键监听器?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 协议功能,如 Android 接口监听器实现?