我的war文件夹里有一张图片。我正在尝试查看图像是什么,但我无法使其正常工作。我正在尝试使用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");
}如何获取镜像?我是忽略了代码中的某些东西,还是做错了?
发布于 2012-03-25 10:34:36
如果您有HTML背景,那么为了改变视图而更改图像的URL是可以理解的,但在GWT-land中却有点疯狂。这大致类似于在运行中更改<script>的URL --这在技术上是可行的,但很奇怪。此映像必然是某个组件的子级。我将通过对包含此图像的组件进行操作来替换此图像,而不是通过更改其URL来替换图像本身。图像的URL本质上是它的描述符,所以像这样更改属性是很不方便的。如果你正在使用MVP并且已经创建了一个View,那么你可以公开一个像void toggleSoundImage(boolean on)这样的方法。
你真的应该这样做:https://developers.google.com/web-toolkit/doc/latest/DevGuideUiImageBundles。您试图使用图像的方式是统一的--有些人可能认为这是“错误的”。
我故意没有回答你的问题,因为如果你这样做是正确的,导致这个问题的前提条件就不存在了。
希望这能有所帮助。
发布于 2012-03-26 08:16:09
请注意,您正在使用相对路径设置url (soundOn.jpg),但您正在使用模块绝对路径进行检查。
URL应该只与您的图像上的src属性相同。
如果您使用:
if(soundImage.getUrl().equals("soundOn.png")){
应该能行得通。我也推荐使用Travis推荐的Image资源。
https://stackoverflow.com/questions/9856166
复制相似问题