【发布时间】:2011-11-28 21:32:07
【问题描述】:
我正在使用声明式/ui-binder 方法将图像添加到页面。这与使用 GWT 提供的 ImageBundle 函数相结合。
当我将鼠标悬停在图像上时,我想做的是改变图像。我的问题是:最好的方法是什么?我目前的方法首先是最好的方法吗?
我的代码看起来类似于:
<ui:with field='res' type='path.to.my.app.AppResources' />
...
<g:HorizontalPanel ui:field='horizPanel' >
<g:Image ui:field='image1' resource='{res.image1}'/>
</g:HorizontalPanel>
然后通过AbstractImagePrototype 绑定到ImageBundle 类。
然后,在我的主处理程序中,我有类似的东西:
@UiHandler("image1")
public void onMouseOver(MouseOverEvent event)
{
/* What do I do here? */
}
说当用户将鼠标悬停在 image1 上时,我想用 image2 替换 image1(并在指针离开图像时将 image1 放回原处)。我要替换 image1 对象吗?我对该图像使用 setUrl 函数吗?我要创建一个全新的图像,然后使用水平面板的添加/删除功能来添加它吗?这似乎非常低效。我什至不需要ImageBundle;我可以通过<g:Image .... url='path/to/image1.png' /> 之类的方式添加图像,然后使用 CSS 和 hover 属性来换出图像吗?
一些指导会很棒。 GWT 文档在这方面严重缺乏。谢谢。
【问题讨论】:
标签: image gwt hover uibinder declarative