uibinder
  • gwt2
  • 2013-10-10 15 views 0 likes 
    0

    我使用UIBinder來標記接口。 在一些地方,我把一個 「標誌」,我想dynamicaly改變 -如何通過UIBinder和ClientBundle動態更改在UI標記中指定的圖像?

    <!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.myproject.client.resources.Resources' /> 
    
    ... 
    <g:Image resource='{res.offline}'/> 
    ... 
    

    我用ClientBundle

    public interface Resources extends ClientBundle {  
        @Source("offline.png") 
        public ImageResource offline(); 
    
        @Source("online.png") 
        public ImageResource online(); 
    
        // ... and so on 
    } 
    

    對於每個用戶,自己的標識。當用戶開始會話時 - 他們的標誌正在變爲「在線」,反之亦然。

    我想知道如何更改在UI標記中聲明的圖片。

    感謝所有。

    +0

    我想,該解決方案可以是在[此處](http://stackoverflow.com/questions/17148534/gwt-dynamically-changing-an-image)。我嘗試使用它。 –

    回答

    0

    該解決方案可以表示如下。添加到UI元素屬性ui:field -

    <g:Image url='{res.user1.getURL}' ui:field="imageUser1" />

    然後顯示/隱藏圖像,取決於用戶是否會話。

    @UiField Image imageUser1; 
    ... 
    imageUser1.setVisible(true/ false); 
    

    也可以動態地改變圖像的URL -

    user1.setUrl(offlineImg.getUrl()); 
    

    等等

    主題是幫助我 -

    相關問題