如何通过按退格键从文本字符串中删除字符。 这就是我到目前为止所得到的。它只删除最后一个字符。
if (keyPressed) {
if (key != '\n' && key != CODED) {
if (typing.length() < 5){
typing = typing + key;
}
}
if (key == BACKSPACE) {
if (typing.length() > 0) {
typing = typing.substring(0, typing.length()-1);
}
}
}
text(typing, 345, 372);
最佳答案
那是因为BACKSPACE
is not CODED
,因此,当 typing.length()
小于 5
并且您按 BACKSPACE
时,您就会满足这两个条件。当它达到 5
时,它只满足第二个条件:if (key == BACKSPACE)
因此它可以工作,将其恢复到小于 5
所以它不会再次工作...
作为测试尝试:if (key != '\n' && key != CODED && key != BACKSPACE)
但我认为您可能需要一个开关(键)
来完成这项工作。
此外,您最好使用void keyPressed()
或keyReleased()
或keyTyped()
而不是在draw() 中的keyPressed
字段。或者您需要自己处理按键重复...
关于java - 如何从文本字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13965431/