我有一个包含换行符(“\ r”)的传入文本字符串。Vaadin:我的标签忽略回车符
当我输出它时:System.out.println(myString)
,回车被解释。
但是,当我将该字符串设置为Label的内容时,它忽略回车。
我该如何强制标签解释马车/行返回(没有XHTML模式)?
我有一个包含换行符(“\ r”)的传入文本字符串。Vaadin:我的标签忽略回车符
当我输出它时:System.out.println(myString)
,回车被解释。
但是,当我将该字符串设置为Label的内容时,它忽略回车。
我该如何强制标签解释马车/行返回(没有XHTML模式)?
在阅读Vaadin的书以及很少的测试后,我不认为\ r可以被标签解释。
与\ n代替\ r给你两个选择:
Label.setContentMode(Label.CONTENT_XHTML). //But you don't want to do this
Label.setContentMode(Label.CONTENT_PREFORMATTED) //But I think it's not the display you want
问候。
埃里克
这是你如何把这个文本到您的标签:
@Override
public void init() {
Window window = new Window();
Label label = new Label("<pre>First line\rSecond line\nThird line</pre>", Label.CONTENT_XHTML);
window.addComponent(label);
setMainWindow(window);
}
的关键是使用Label.CONTENT_XHTML内容模式和包围<pre>
标签内的文本。
在Vaadin 7.0你可以使用ContentMode.PREFORMATTED例如:
String resultText = "First line\rSecond line\nThird line";
Label dateLabel = new Label(resultText, ContentMode.PREFORMATTED);
,如果你希望文字看起来性感,你可以使用一些主题,是这样的:
dateLabel.setStyleName(Runo.LABEL_SMALL);
这应该工作和也是优雅的。
'Label.CONTENT_XHTML' - **弃用。**从7.0开始,使用ContentMode.HTML代替 – 2015-06-26 01:11:46