java - Java中判断何时没有按键

标签 java key-events

我怎样才能得到关键事件的相反结果?

IE 一个简单的程序将打印出“Whatever”,直到按下任意键,然后停止。

松开按键后,会再次开始打印吗?

public class Printer
{
   public static void main(String[] args)
   {
     "WHILE ANY KEYBOARD KEY NOT PRESSED" PRINT SOMETHING
     "WHEN PRESSED" STOP PRINTING SOMETHING
     " WHEN RELEASED" START PRINTING AGAIN
   }
}

最佳答案

我认为你可以在主线程中打印,同时在 while 循环中检查 boolean 值(假设“isKeyPressed”最初为 false),每当在按键监听器中按下一个键时,你都会将 boolean 标志设置为 true,这将防止主线程打印,当释放按键被触发时,您将再次将 boolean 标志设置为 false 以恢复打印

在主方法中

while(!isKeyPressed){
your logic / printing
}

在你的按键监听器中

 public void keyPressed(KeyEvent e) {
    isKeyPressed = true;
}

在你的 keyReleased 监听器中

 public void keyReleased(KeyEvent e) {
    isKeyPressed = false;
}

希望对您有帮助。

关于java - Java中判断何时没有按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736016/

相关文章:

java - 无法将数据库条目映射到 java 枚举

java - 如何在 Hibernate 中更新 TimerTask 中的实体

java - 如何使用 Key Bindings 而不是 Key Listeners

java - JAVA按键监听事件是否可以检测到哪个按键被点击? (按下、键入或释放键)

c# - 为什么 KeyEvent 中的数字小键盘数字和常规数字不一样?

java - Android Studio,无法解析符号方法

java - FindBugs: "may fail to close stream"- 这对 InputStream 有效吗?

Java 等效于 C++ Botan 函数调用

ios - Objective-C 发送按键事件到 webview

Java:键绑定(bind)冷却时间?