我正在尝试使用值更改处理程序获取用户在textArea中键入的文本。每次我尝试访问处理程序外部的文本时,我都会收到空指针异常。为什么会这样?如何从文本区域获取完整的文本,以便我可以进一步使用它?
display.getmessageTextArea().addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> event) {
text=event.getValue();
}
});
System.out.println(text);
当我在处理程序之外打印文本时,出现空指针异常。我希望 ti 获取用户在该文本区域中键入的文本。
使用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;
}
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);
}
});