Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 等待而不获取输入_Java_Processing - Fatal编程技术网

Java 等待而不获取输入

Java 等待而不获取输入,java,processing,Java,Processing,如果按“R”,则金额应增加1,但如果在程序“等待”时按“R”,则不应检测到输入。但在延迟和睡眠情况下,程序会跟踪输入,并在延迟后执行输入。是否有函数等待而不获取任何输入 import java.util.concurrent.TimeUnit; int amount; void setup() { size(200, 200); } void draw() { background(#FEF4E9); fill(#FF0000); if (key == 'r'){

如果按“R”,则金额应增加1,但如果在程序“等待”时按“R”,则不应检测到输入。但在延迟和睡眠情况下,程序会跟踪输入,并在延迟后执行输入。是否有函数等待而不获取任何输入

import java.util.concurrent.TimeUnit;
int amount;

void setup()
{
   size(200, 200);

}
void draw()
{ 
   background(#FEF4E9);
   fill(#FF0000);

if (key == 'r'){
  //delay(500);
   try{
       Thread.sleep(500);
}catch(InterruptedException e){
    System.out.println("got interrupted!");
}
  amount++;
  println("amount: "+amount);
}
}
Thread.sleep(500)
将简单地阻塞线程500毫秒;它不会阻止线程接收操作系统消息,如键盘输入。消息将简单地放在消息队列中,直到线程解除阻塞,此时它们将运行。如果您试图在特定时间段内忽略用户输入,您需要自己跟踪时间,并在该时间段内忽略输入

long ignoreTime = System.currentTimeMillis() + 500;
...
if (System.currentTimeMillis() > ignoreTime) { // only process after 500 timeout
    doProcessingForR();
}

你能在按键的地方显示代码吗?这是所有的代码,正在处理中…我们需要设置
key
的代码。不知怎的,它没有进入带有全局变量的ifclause输出:带有局部变量的输出: