2013-09-26 55 views
0

我正在嘗試向GWT g:標籤添加第二個樣式。我將CSS樣式定義爲CssResource。標籤正在拾取.gwt-Label樣式,但它沒有提取添加樣式中定義的字體顏色的更改。GWT,addStyleNames不從CssResource添加第二個樣式

<?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; 
} 

回答

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}作爲樣式。

儘管您的類的名稱是.navPanelText在您的CSS GWT中更改類的名稱。爲了保持對該類名稱的引用,您需要通過與類名稱相同的方法引用樣式表的相應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> 
+1

它實際上應該是'{res.style.navPanelText}',假設'Resources''ClientBundle'有'CssResource'''style()'。 –

+0

這是我剛剛編輯的帖子。謝謝托馬斯。我在答案中做了很多假設。如果你不瞭解ClientBundles,那麼你應該[閱讀](http://www.gwtproject.org/doc/latest/DevGuideClientBundle.html)。 – enrybo

+0

非常完美,非常感謝。您指向我的文檔頁面沒有使用UiBinder中的CssResouce的示例。我想顯而易見的理由將這個CSS外化。 –