我有一個包含換行符(「\ 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