如何从文本字符串中删除字符

时间:2012-12-20 04:41:05

标签: java processing

如何通过按后退空格键从文本字符串中删除字符。 这是我到目前为止所得到的。它只删除最后一个字符。

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);

1 个答案:

答案 0 :(得分:1)

那是因为BACKSPACE is not CODED,所以当typing.length()小于5而你按BACKSPACE时,你会遇到两种情况。当它达到5时,它只会满足第二个条件:if (key == BACKSPACE)所以它可以正常工作,将其恢复到小于5,这样它就不会再次起作用了......

作为测试尝试:if (key != '\n' && key != CODED && key != BACKSPACE) 但我认为您可能需要switch (key)来完成这项工作。

另外,您最好使用void keyPressed()keyReleased()keyTyped() 在draw()中,而不是keyPressed字段。或者你需要自己处理密钥重复......