2012-03-24 3 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-land. Это примерно аналогично изменению URL-адреса <script> на лету - это технически возможно, но странно. Это изображение является дочерним элементом какого-либо компонента, обязательно. Я бы заменил это изображение, работая на компоненте, который содержит это изображение, а не на самом изображении, изменив его URL. URL-адрес изображения по существу является его дескриптором, поэтому неудобно изменять свойство, подобное этому. Если вы используете MVP и создали View, вы можете выставить такой метод, как void toggleSoundImage(boolean on).

Вы действительно должны это делать: https://developers.google.com/web-toolkit/doc/latest/DevGuideUiImageBundles. То, как вы пытаетесь использовать изображения, является унииоматичным - некоторые люди могут называть это «неправильным».

Я целенаправленно не ответил на ваш вопрос, потому что, если вы делаете это правильно, предпосылки, вызвавшие эту проблему, не будут существовать.

Надеюсь, что это поможет.

0

Обратите внимание, что вы устанавливаете URL-адрес (soundOn.jpg) с использованием относительного пути, но вы проверяете использование абсолютного пути модуля.

URL-адрес должен быть таким же, как и атрибут src на вашем изображении.

Если вы используете:

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

Он должен работать. Я рекомендую также использовать рекомендации Travis для ресурсов Image.

Смежные вопросы