如何从gwt中的textArea获取文本?

时间:2014-04-03 11:58:48

标签: gwt event-handling

我正在尝试使用值更改处理程序获取用户在textArea中键入的文本。每次我尝试访问处理程序外的文本时,我都会得到Null指针异常。为什么会这样?如何从textArea获取完整的文本以便我可以进一步使用它?

display.getmessageTextArea().addValueChangeHandler(new ValueChangeHandler<String>() {

    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        text=event.getValue();
    }
});

System.out.println(text);

当我在处理程序外打印文本时,我得到空指针异常。我想要获取用户在该textArea中输入的文本。

2 个答案:

答案 0 :(得分:0)

使用textArea.getValue()方法从GWT中的TextArea获取文本。

display.getmessageTextArea().addValueChangeHandler(new ValueChangeHandler<String>() {

    @Override
    public void onValueChange(ValueChangeEvent<String> event) {
        text=display.getmessageTextArea().getValue();
    }
});

System.out.println(display.getmessageTextArea().getValue());

textArea.getValue()方法根本不会返回null。如果TextArea为空,那么它将返回一个空字符串。

以下是TextBoxBase.java

的超类TextArea的源代码
  /**
   * Overridden to return "" from an empty text box.
   */
  @Override
  public String getValue() {
    String raw = super.getValue();
    return raw == null ? "" : raw;
  }

答案 1 :(得分:0)

final TextArea textArea=new TextArea();
        textArea.setCharacterWidth(22);
        textArea.setVisibleLines(2);
        textArea.addValueChangeHandler(new ValueChangeHandler<String>() {
            @Override
            public void onValueChange(ValueChangeEvent<String> event) 
            {
                String addr=textArea.getValue();
                student.setAddress(addr);
                System.out.println(addr);
            }
        });