如何实现关键监听器?

How to implement key listener?

出于教育目的,我正在 Java 中构建一个 MIDI 钢琴小程序。为此,我想:

  1. 捕获按键按下和释放
  2. 计算同一键的按下和释放之间的时间。

实现满足上述条件的关键侦听器的最佳方法是什么?

只有两个按键侦听器(用于按键按下和释放)或每个键都有按键侦听器?

Having only two key listeners (for key press and release) or having key listener per key?

都没有。我认为您需要一个单一的侦听器来处理所有按键的按键和按键释放事件。每个事件都包含一个 when 属性,您可以使用该属性计算按下某个键的时间。

最后,请注意小程序现在已被弃用,因此这样做的教育价值有限,您编写的代码的实用价值也是如此。大多数浏览器在一段时间前删除了所有 Java 插件/小程序支持。