在Java中确定何时不按任何键

在Java中确定何时不按任何键,java,key-events,Java,Key Events,我怎样才能基本上得到关键事件的反面 IE一个简单的程序会打印出“随便什么”,直到按下任何键,然后停止 释放钥匙后,它会再次开始打印吗 public class Printer { public static void main(String[] args) { "WHILE ANY KEYBOARD KEY NOT PRESSED" PRINT SOMETHING "WHEN PRESSED" STOP PRINTING SOMETHING " WHEN

我怎样才能基本上得到关键事件的反面

IE一个简单的程序会打印出“随便什么”,直到按下任何键,然后停止

释放钥匙后,它会再次开始打印吗

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循环中检查布尔值时在主线程中打印(比如说“isKeyPressed”,它最初将为false),每当在键侦听器中按下一个键时,您都会将布尔值标志设置为true,这将阻止主线程打印,并且当释放键时,您将再次将布尔标志设置为false以恢复打印

主要方法

while(!isKeyPressed){
your logic / printing
}
在你的按键听众

 public void keyPressed(KeyEvent e) {
    isKeyPressed = true;
}
 public void keyReleased(KeyEvent e) {
    isKeyPressed = false;
}
在你的键盘上

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

希望这对你有帮助。

你试过什么?如果不知道你的处境,我们真的无法帮助你。如果你需要一步一步的指导,这里真的不是这样的地方。Java控制台支持不提供“按键”功能,它要求用户重新输入键。如果不使用JNI/JNA风格的解决方案,您将不得不求助于使用基于Swing/AWT的GUI解决方案。它将需要统计按键和释放事件,否则多个重叠按键事件将混淆它。这可能会“阻塞”系统;假设op需要使用Swing(或AWR)来监控按键,sch从问题中不清楚,同样可以通过Swing定时器轻松实现