Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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
无法在Processing 3.0.1 Java模式下获取要注册的退格键_Java_Keyboard_Character_Processing_Backspace - Fatal编程技术网

无法在Processing 3.0.1 Java模式下获取要注册的退格键

无法在Processing 3.0.1 Java模式下获取要注册的退格键,java,keyboard,character,processing,backspace,Java,Keyboard,Character,Processing,Backspace,我以前从来没有遇到过这样的问题,可能只是在某个地方犯了一个非常简单的错误,但我一生都无法识别除字母数字字符和符号以外的任何东西。退格/删除未注册。我尝试过使用key变量和key代码,但似乎没有任何效果 我尝试过的事情: key == BACKSPACE int(key) == 8 keyCode == DELETE 什么都没起作用。当我尝试println(key) 这是我的密码。这只是一个片段,程序的其余部分由 其他几种方法,包括draw()循环。我已经把问题缩小到这个街区了 void key

我以前从来没有遇到过这样的问题,可能只是在某个地方犯了一个非常简单的错误,但我一生都无法识别除字母数字字符和符号以外的任何东西。退格/删除未注册。我尝试过使用key变量和key代码,但似乎没有任何效果

我尝试过的事情:

key == BACKSPACE
int(key) == 8
keyCode == DELETE
什么都没起作用。当我尝试
println(key)

这是我的密码。这只是一个片段,程序的其余部分由 其他几种方法,包括draw()循环。我已经把问题缩小到这个街区了

void keyTyped() {
  if (key == '`' || key == '~') {
    consoleShow = !consoleShow; //toggle boolean
    command = ""; //clear command string
  } else if (keyCode == DELETE) { //   --NOT WORKING--
    command = command.substring(0, command.length()-1);
  } else if (consoleShow == true && key != CODED) { // "key != CODED" isn't working either. (CAPS-LOCK is recognized as a char)
    command += key; //concatenate character to end of command string
  }
  println(key);
}

问题在于,您没有一个
draw()
循环来保持程序的活动状态并保持keylisteners的活动状态。因此,只需在程序的开头放置
voiddraw(){}
,它就会工作

如果您只想使用backspace键,尽管您可以用更少的代码实现这一点:

void draw() {}

void keyTyped() {
  if (key == BACKSPACE) println("You typed the key backspace :)");
}
我修好了。
keyTyped()
不可靠。当替换为
keyPressed()
时,一切正常。

抱歉,这只是一个片段,有一个绘图循环,它从头到尾都在正确循环。