我在使用 TextArea 对象时遇到了 ControlP5 的这个问题:
调用 ' setText(fooString)
' 时,如果 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
有没有更好的方法来解决这个问题,或者上面的代码是一个错误(就我而言)?