使用TextArea对象时,我遇到过ControlP5的这个问题:
如果fooString在一行中包含'',则调用'setText(fooString)
'时,Java将抛出空指针异常。
例如:
void setup()
{
size(300,300);
cp5 = new ControlP5(this);
textArea = cp5.addTextarea("txt")
.setPosition(0,0)
.setSize(30,30)
.setFont(createFont("arial",12))
.setLineHeight(14)
.setColor(color(0))
.setColorBackground(color(0))
.setColorForeground(color(255,100));
;
String s = "Hello\n \nworld";
textArea.setText(s);
}
Java抛出:“StringIndexOutOfBoundsException
”和“NullPointerException
”
我的解决方法(忽略s =“[一堆空格]”的情况):
s = s.replaceAll("\r", "\n"); // Use just one type of new line
s = s.replaceAll("\n +", "\n"); // Case 1
s = s.replaceAll(" +\n", "\n"); // Case 2
使用上面的代码是否有更好的方法来解决这个问题或者是一个错误(就我而言)?