Vaadin:我的标签忽略了回车字符

时间:2012-01-11 10:59:41

标签: label vaadin

我有一个包含换行符(“\ r”)的传入文本字符串。

当我用System.out.println(myString)输出时,将解释回车。

但是,当我将字符串设置为Label的内容时,它会忽略回车。

如何强制Label解释回车/换行(没有XHTML模式)?

3 个答案:

答案 0 :(得分:7)

您可以将此文字放入标签:

@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>标记内。

答案 1 :(得分:3)

在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 );

这应该有效并且也很优雅。

答案 2 :(得分:0)

在阅读了Vaadin的书,并且很少有测试之后,我认为\ r \ n可以被标签解释。

用\ n替换\ r \ n会给你两个选项:

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

问候。

埃里克