确定Java中没有按下任何键的时间

时间:2014-03-29 19:48:09

标签: 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
   }
}

1 个答案:

答案 0 :(得分:2)

我认为你可以在主线程中打印同时检查一个布尔值(让我们说" isKeyPressed"这将是最初的假)在while循环中每当按键监听器中按下一个键你将设置布尔值标志为true将阻止主线程打印,并且当释放键时,您将再次将布尔标志设置为false以恢复打印

主要方法

中的

while(!isKeyPressed){
your logic / printing
}

在你的按键监听器中

 public void keyPressed(KeyEvent e) {
    isKeyPressed = true;
}
你的keyReleased监听器中的

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

希望能帮助你。