在Java中确定何时不按任何键
我怎样才能基本上得到关键事件的反面 IE一个简单的程序会打印出“随便什么”,直到按下任何键,然后停止 释放钥匙后,它会再次开始打印吗在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
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定时器轻松实现