【问题标题】:How to implement key listener?如何实现关键监听器?
【发布时间】:2019-04-01 04:25:09
【问题描述】:

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

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

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

只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?

【问题讨论】:

标签: java awt keylistener


【解决方案1】:

只有两个按键监听器(用于按键按下和释放)还是每个按键都有按键监听器?

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

最后,请注意,小程序现在是不推荐使用的技术,因此这样做的教育价值是有限的,您编写的代码的实用价值也是如此。大多数浏览器不久前删除了所有 Java 插件/小程序支持。

【讨论】:

  • Applet 类的 init() 函数内部 addKeyListner(new KeyAdapter() { @Override public void keyTyped(KeyEvent e) { System.out.println("Time: "+e.getWhen() ); System.out.println(e.getKeyText(e.getKeyCode())); } });`但是当我按住一个键时,它似乎生成了多个按键,而不是维持一个按键。
  • 它们是关键事件而不是击键。您需要在侦听器代码中过滤它们。
猜你喜欢
  • 2011-08-21
  • 2011-02-02
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 2019-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多