2012-01-11 14 views
4

改行( "\ r")を含む受信テキスト文字列があります。Vaadin:私のラベルは改行文字を無視します

System.out.println(myString)と出力すると、キャリッジリターンが解釈されます。

ただし、ラベルの内容として文字列を設定すると、キャリッジリターンは無視されます。

キャリッジ/ラインリターン(XHTMLモードなし)をラベルで解釈させるにはどうすればよいですか?

答えて

0

読んだ後、ヴァーダンの本、いくつかのテスト、私は\ 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 

よろしく:\ nの

交換\ rのには二つの選択肢があります。

エリック

6

は、これは、あなたのラベルには、このテキストを置くことができる方法です。

@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>タグ内のテキストを囲むています。

あなたがContentMode.PREFORMATTED例えば使用することができますVaadin 7.0では
+1

'Label.CONTENT_XHTML' - **推奨されていません** 7.0以降、代わりに' ContentMode.HTML'を使用してください –

2

String resultText = "First line\rSecond line\nThird line"; 
Label dateLabel = new Label(resultText, ContentMode.PREFORMATTED); 

を、あなたはテキストがセクシーに見えるしたい場合は、いくつかのテーマを使用することができ、のようなもの:動作するはず

dateLabel.setStyleName(Runo.LABEL_SMALL); 

とエレガントです。

関連する問題