【问题标题】:It is possible to detect when I stop pressing a key in Java?可以检测到我何时停止按 Java 中的某个键?
【发布时间】:2012-02-26 23:42:42
【问题描述】:

当我按下某个键时,我想执行一条指令,当我停止按下某个键时,我想执行另一条指令。 (例如 android 上的按钮制作 setOnClickListener -> 指令)。您可以在 Java 中使用这些键吗?

对不起,我的英语不好。

【问题讨论】:

  • 哪种技术? WinForms、WPF、Silverlight、WebForms……这比知道您使用的是 Visual Studio 2010 更重要。

标签: java keyboard key


【解决方案1】:

您的问题真的很难理解,因为您似乎同时在谈论按键和按钮。要检测按钮被按下然后释放,您需要覆盖按钮的 onTouchEvent() 方法。对于设备上的按键/物理按钮,有两种方法可以覆盖:

public boolean onKeyDown(int keyCode, KeyEvent msg)
public boolean onKeyUp(int keyCode, KeyEvent msg)

更新:更详细的解释

boolean bKeyIsPressed;

@Override public boolean onKeyDown(int keyCode, KeyEvent msg)
{
   switch (keyCode)
   {
     case THE_KEY_I_WANT:
        bKeyIsPressed = true;
        break;
   }
}

@Override public boolean onKeyUp(int keyCode, KeyEvent msg)
{
   switch (keyCode)
   {
     case THE_KEY_I_WANT:
        bKeyIsPressed = false;
        break;
   }
}

【讨论】:

  • 是的!我同时谈论按钮和按键,因为我想以这两种方式编程。谢谢
  • 但我不明白...向我解释一下,就像用钥匙一样?我理解“key”.isPressed 等...但不是这个!
  • 这是 Java - 你的问题被标记为 Android,所以我就是这样回答的。 C# 和 Visual Studio 标记似乎表明您熟悉 Windows 上的操作,但不了解如何在 Android 上操作。
  • Ups.. 我自欺欺人,因为我把标签 android 是平常的。我要开发一个将成为客户端的 android 应用程序。这段代码是 C# 中服务器的一部分……抱歉造成误解。但感谢您的帮助,所以我知道如何用 java 做!如果你更了解 C#。
猜你喜欢
  • 2014-04-26
  • 1970-01-01
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2011-04-03
  • 2012-12-22
  • 2022-10-14
相关资源
最近更新 更多