0

我在使用 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

有没有更好的方法来解决这个问题,或者上面的代码是一个错误(就我而言)?

4

0 回答 0