我想将文字添加到新行。
我的代码:
TextField text = new TextField();
TextArea area = new Area();
String txt = text.getValue().toString();
area.setValue("\n" + txt);
当我点击我的按钮时,我会从TextField中看到我的值。我想在TextArea的新行中添加新文本。请帮忙。
答案 0 :(得分:1)
您必须将新值附加到现有值并进行设置。有点像:
area.setValue(area.getValue() + "\n" + txt);
Vaadin TextArea无法直接追加。还有java中的规则,何时使用+
进行stringsapply。如果您这样做,请考虑使用StringBuffer
。
答案 1 :(得分:0)
而不是
area.setValue("\n" + txt);
使用
area.setValue(area.getValue + "\n" + txt);
这将添加文本,而不是REPLACE
答案 2 :(得分:0)
我建议在最后添加新行。你将避免在TextArea的开头有一个空行。
E.g。 outputTextArea.setValue(outputTextArea.getValue() + input.getValue() + "\n");
此外:请务必使用 TextArea 而不是 TextField ,因为使用“\ n”的换行符不能用于 TextField !
答案 3 :(得分:0)
请记住,Vaadin适用于浏览器,因此普通的scape字符不起作用,即:您不能使用' \ n'正常Label
。而不是它执行以下操作:
label.setCaptionAsHtml(true);
label.setValue(label.getValue()+"<br>");
如果您使用的是TextArea
,则可以像往常一样使用'\n'
。
如果是TextFiel
,则无法写入多行,因为它会在TextArea
中对其进行转换,并且不推荐使用此行为。