我正在尝试为GWT g:label添加第二种样式。我将CSS样式定义为CssResource。标签正在拾取.gwt-标签样式很好,但它没有获取添加样式中定义的字体颜色的变化。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:with field='res' type='com.me.area.workflow.portal.flip.client.ui.Resources' />
<g:DockLayoutPanel unit='PCT'>
<g:west size="50">
<g:Label addStyleNames="{.navPanelText}">Flip Workflows</g:Label>
</g:west>
</g:DockLayoutPanel>
</ui:UiBinder>
和CSS
.gwt-Label {
font: bold 16px "Lucida Grande", Geneva, Verdana, sans-serif;
vertical-align: middle;
margin-left: 10px;
margin-right: 10px;
margin-top: 10px;
text-decoration: none;
padding: 3px 5px 3px 5px;
}
.navPanelText {
color: white;
}
答案 0 :(得分:3)
您需要更改:
<g:Label addStyleNames="{.navPanelText}">Flip Workflows</g:Label>
要:
<g:Label addStyleNames="{res.style.navPanelText}">Flip Workflows</g:Label>
这假设你做了所有其他你需要做的事情。例如'Resources''ClientBundle'有一个名为'style()'的'CssResource'。哪个与正确的CSS样式表正确链接。
如果没有res.style
,您就不会引用样式表而只是将{.navPanelText}
作为样式插入。
即使CSS GWT中类的名称为.navPanelText
,也会更改类的名称。为了保持对该类名的引用,您需要通过与类名称相同的方法引用样式表的相应Java文件和样式名称。
有关详细信息,请转到here。
您也可以直接将CSS直接放在UiBinder中。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.navPanelText {
color: white;
}
</ui:style>
<g:DockLayoutPanel unit='PCT'>
<g:west size="50">
<g:Label addStyleNames="{style.navPanelText}">Flip Workflows</g:Label>
</g:west>
</g:DockLayoutPanel>
</ui:UiBinder>