2012-12-08 99 views
0

我需要設置一個標籤,有一些特殊的字符,我想:如何將標籤文本設置爲特殊字符?

Label label = new Label(); 
label.setText("•"); 
label.setText("♦"); 
label.setText("★"); 

我沒有看到雖然呈現(火狐17)的字符。輸出html看起來像這樣:

<div class="gwt-Label"></div> 

是否有不同的方式,我們需要將文本設置爲這些字符?

回答

1

我不認爲這是可能的標籤控件。您應該使用擴展標籤的類HTML

SafeHtmlBuilder builder = new SafeHtmlBuilder(); 
builder.appendEscaped("★"); 
HTML widget = new HTML(); 
widget.setHTML(builder.toSafeHtml()); 
RootPanel.get().add(widget); 

還要確保使用SafeHtmlBuilder類的最佳實踐。

+0

太棒了,這個工作沒有進一步的修改。謝謝。 – user291701

1

你應該確保你的源代碼使用UTF-8編碼。如果您使用的是Eclipse,則可以在Windows - >首選項中設置默認編碼。

這個簡短的版本是:如果你使用UTF-8編碼完成GWT項目和部署中的所有工作,那麼你所有的特殊字符都應該按照預期工作。

如果您有很多現有文件需要轉換,那麼JDK包含一個小工具來爲您轉換文件。

+0

右側的eclipse促使我將特定的java類文件保存爲utf-8,這是我做的。但我想我需要將項目中的每個*文件都保存爲utf-8然後呢? – user291701

+0

是的,您需要爲此類字符執行此操作。 –

0

您可以使用html代碼:&#9733;代表明星(★),&#149;代表子彈(•)等。

http://www.quackit.com/html/html_special_characters.cfm

+0

嗨,你能不能展示一個樣例用法 - 具體如何使用它與標籤? – user291701

+0

這只是一個字符串,在html中意味着明星。所以:'標籤星=新標籤(「★」)',或'label.setText(「•」)' – flyingjamus

+0

當我嘗試以這種方式設置時,瀏覽器呈現文字字符串「•」 - 它不會翻譯它變成相應的字符。還有什麼我需要做的標籤讓它來呈現代碼作爲角色? – user291701

相關問題