2012-12-20 58 views
1

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

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

字符串从哪里来?你在使用GUI吗? –

+2

把你的'key == BACKSPACE'放在if(keypressed)bolck –

+0

谢谢Bhavik Shah。我怎么没看见? – emre

回答

1

这是因为BACKSPACEis not CODED,因此,尽管typing.length()小于5并且按BACKSPACE你符合这两个条件打破东西。当它到达5只METS第二个条件:if (key == BACKSPACE)所以它的工作原理,把它回不到5,这样就不会再工作......

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

而且您更好地使用void keyPressed()keyReleased()keyTyped() 代替keyPressed领域,平局()。或者你将需要自己处理关键的重复...

+0

。感谢您的解释。 – emre