GWT getUrl не возвращает изображение - PullRequest
0 голосов
/ 25 марта 2012

У меня есть изображение в моей военной папке. Я пытаюсь увидеть, что это за изображение, но не могу заставить его работать. Я пытаюсь использовать GWT.getModuleBaseURL(), но он не выдает предупреждение.

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");
                }

Как я могу получить изображение? Я что-то пропускаю в своем коде, или я делаю это неправильно?

Ответы [ 2 ]

1 голос
/ 25 марта 2012

Изменение URL-адреса изображения для изменения вида понятно, если у вас есть HTML-фон, но в GWT-стране это безумие.Это примерно аналогично изменению URL-адреса <script> на лету - это технически возможно, но странно.Это изображение обязательно является потомком какого-либо компонента.Я заменил бы это изображение, работая с компонентом, который содержит это изображение, а не с самим изображением, меняя его URL.URL-адрес изображения по сути является его дескриптором, поэтому неудобно изменять такое свойство, как это.Если вы используете MVP и создали View, то вы можете использовать такой метод, как void toggleSoundImage(boolean on).

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

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

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

0 голосов
/ 26 марта 2012

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...