2012-06-07 73 views
1

我前一天問過一個問題,我想在帶有文本的標籤旁邊放置一個星號。然而,圖像顯示兩次,我仍然在努力解決這個問題,因爲我仍然在學習UiBinder和Gwt。在UiBinder中的標籤旁邊顯示我的星號

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> 

<ui:style type="com.equillore.mcmexternal.client.ui.IndicatorLabel.Style"> 
    @sprite .mySpriteClass {gwt-image: "imageAccessor"; other: property;} 
    .required 
    { 
     gwt-image: 'requiredImage'; 
     width: 7px; 
     height: 14px; 
    } 
    .labRequired 
    { 
     color:#303030; 
     font-family: Tahoma, Geneva, sans-serif; 
     font-size:10pt; 
     font-style:normal; 
     font-weight:lighter; 
    } 
</ui:style> 
<g:SimplePanel width='90px' height='21px'> 
<g:Grid> 
    <g:row> 
     <g:customCell> 
      <g:Label ui:field="label" addStyleNames="{style.labRequired}"/> 
     </g:customCell> 
     <g:customCell> 
      <g:Label addStyleNames="{style.required}"/> 
     </g:customCell> 
    </g:row> 
</g:Grid> 
</g:SimplePanel> 

如果我刪除以下行

<ui:image field="requiredImage" src="images/required_indicator.gif"/> 

我如何可以更改我的java文件,使星號的形象會正確顯示 這是java文件。

public class IndicatorLabel extends Composite implements HasText { 

public interface Binder extends UiBinder<Widget, IndicatorLabel> { 
} 

private static final Binder binder = GWT.create(Binder.class); 

public interface Style extends CssResource { 

    String required(); 
} 

@UiField Style style; 
@UiField Label label; 


public IndicatorLabel() { 

    initWidget(binder.createAndBindUi(this)); 


} 

public IndicatorLabel(String text) { 

    this(); 
    setText(text); 
} 

親切的問候

回答

0

如果你只是想顯示不可點擊的圖像更好的答案將只使用CSS來風格標籤:

@sprite .requiredField 
{ 
    gwt-image: 'required'; 
    background-repeat: no-repeat; 
    height: 12px; 
    width: 150px; 
    background-position: right top; 
    padding-right:10px; 
} 

但在任何情況下,您應該在ResourceBundle上以不同方式定義圖像,如下所示:

@Source("save.png") 
public ImageResource required(); 

您甚至不需要使用UIBin der爲此,但如果您的目標是要了解它,我會建議嘗試更仔細地遵循此文檔:https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder

相關問題