我怎样才能得到关键事件的相反结果?
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/