2012-03-24 19 views
0

我在戰爭中的文件夾有一個形象。我試圖看看圖像是什麼,但我無法讓它工作。我嘗試通過使用GWT.getModuleBaseURL()但它不警報。GWT的getURL不返回圖像

if(soundImage.getUrl().equals(GWT.getModuleBaseURL()+"/soundOn.png")){ 
        Window.alert("YEP IT DOES"); 
        soundImage.setUrl("soundOff.png"); 
        setSound("off"); 
       }else{ 
        soundImage.setUrl("soundOn.png"); 
        setSound("on"); 
       } 

如何獲取圖像?我在代碼中忽略了某些東西,還是我做錯了?

回答

1

爲了改變視圖改變圖像的URL是可以理解的,如果你有一個HTML的背景,但是是有點瘋狂GWT-土地。這大致類似於在運行中更改<script>的URL--這在技術上可行,但很奇怪。這個圖像是某個組件的孩子,必然。我會通過對包含此圖像的組件進行操作來替換此圖像,而不是通過更改其URL來更改此圖像本身。圖像的URL實際上是它的描述符,所以更改像這樣的屬性是很尷尬的。如果您使用的MVP,並創建了一個View,那麼你可能會暴露像void toggleSoundImage(boolean on)的方法。

你真的應該來代替做這個:https://developers.google.com/web-toolkit/doc/latest/DevGuideUiImageBundles。你試圖使用圖像的方式是單向的 - 有些人可能稱之爲「錯誤的」。

我故意不回答你的問題,因爲如果你正確地這樣做,導致就不會存在這個問題的前提條件。

希望有所幫助。

0

請注意,您正在使用相對路徑設置網址(soundOn.jpg),但您正在使用模塊絕對路徑進行檢查。

URL應該僅僅是與您的圖像上src屬性。

如果你使用:

if(soundImage.getUrl().equals("soundOn.png")){

它應該工作。我也建議使用特拉維斯的圖片資源建議。