GWT标签中的不同字体颜色

时间:2012-04-02 08:04:50

标签: gwt colors label

gwt-label中是否可以有两种不同的字体颜色?

示例:

Label titleLabel = new Label(ticket.getTicketType().getName()+" - <<"+art+">>");

标签的第二部分应为红色。

1 个答案:

答案 0 :(得分:8)

使用HTML小部件:

titleLabel = new HTML(SafeHtmlUtils.htmlEscape(ticket.getTicketType().getName())
    + " - <span style='color: red'>&lt;&lt;"
    + SafeHtmlUtils.htmlEscape(art)
    + "&gt;&gt;</span>");

为了使其更具可读性,我会使用SafeHtmlTemplates(作为奖励,它会检查您的HTML语法,并自动htmlEscape您的字符串,这样您就不会有风险想念一个,所以它更安全):

interface Template extends SafeHtmlTemplates {
   @Template("{0} - <span style='color: red'>&lt;&lt;{1}&gt;&gt;</span>")
   SafeHtml title(String ticketTypeName, String art);
}
static final Template TEMPLATE = GWT.create(Template.class)

...

titleLabel = new HTML(TEMPLATE.title(ticket.getTicketType().getName(), art));

我还会将style='color: red'替换为class='{2}'CssResource,但这只是奖励,而且主要是细节。