gwt-label中是否可以有两种不同的字体颜色?
示例:
Label titleLabel = new Label(ticket.getTicketType().getName()+" - <<"+art+">>");
标签的第二部分应为红色。
答案 0 :(得分:8)
使用HTML
小部件:
titleLabel = new HTML(SafeHtmlUtils.htmlEscape(ticket.getTicketType().getName())
+ " - <span style='color: red'><<"
+ SafeHtmlUtils.htmlEscape(art)
+ ">></span>");
为了使其更具可读性,我会使用SafeHtmlTemplates
(作为奖励,它会检查您的HTML语法,并自动htmlEscape
您的字符串,这样您就不会有风险想念一个,所以它更安全):
interface Template extends SafeHtmlTemplates {
@Template("{0} - <span style='color: red'><<{1}>></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
,但这只是奖励,而且主要是细节。