Java 等待而不获取输入
如果按“R”,则金额应增加1,但如果在程序“等待”时按“R”,则不应检测到输入。但在延迟和睡眠情况下,程序会跟踪输入,并在延迟后执行输入。是否有函数等待而不获取任何输入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'){
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输出:带有局部变量的输出: