我正在使用向页面添加图像的声明性/ui-binder 方法。这与使用ImageBundle
GWT 提供的功能相结合。
当我将鼠标悬停在图像上时,我想做的是改变图像。我的问题是:最好的方法是什么,我目前的方法首先是最好的方法吗?
我的代码看起来类似于:
<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>
然后ImageBundle
通过AbstractImagePrototype
.
然后,在我的主处理程序中,我有类似的东西:
@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 和悬停属性来换出图像吗?
一些指导会很棒。GWT 文档在这方面严重缺乏。谢谢。