Image GWT-淡入/淡出背景图像

Image GWT-淡入/淡出背景图像,image,gwt,animation,background,Image,Gwt,Animation,Background,我有一个自定义类,如下所示,该类工作正常,按钮增大/缩小以适应文本,bg图像在单击时发生更改。 我想解决的问题是如何在调用clicked/notClicked时“fadeIN”一个或另一个图像 这是我的密码 public ExpandingOvalButton(字符串文本){ 如果(text.length()>15){ label.getElement().getStyle().setFontSize(20,Unit.PX); }否则{ label.getElement().getStyle()

我有一个自定义类,如下所示,该类工作正常,按钮增大/缩小以适应文本,bg图像在单击时发生更改。 我想解决的问题是如何在调用clicked/notClicked时“fadeIN”一个或另一个图像 这是我的密码

public ExpandingOvalButton(字符串文本){
如果(text.length()>15){
label.getElement().getStyle().setFontSize(20,Unit.PX);
}否则{
label.getElement().getStyle().setFontSize(30,Unit.PX);
}
整数宽度=120;
初始化小部件(面板);
label.setText(文本);
//宽度=宽度+(text.length()*8);
字符串宽度str=width+“px”;
image.setWidth(widthStr);
图像设置高度(“100px”);
按钮=新按钮(图像);
按钮。设置宽度(宽度str);
按钮设置高度(“50px”);
面板。添加(按钮,0,0);
面板。添加(标签18、14);
}
公共空间被单击()
{
setUrl(“images/rectangle_green.png”);
}
公共空间未被占用()
{
setUrl(“images/rectangle_blue.png”);
}
@凌驾
公共句柄注册addClickHandler(ClickHandler处理程序){
返回addDomHandler(handler,ClickEvent.getType());
}
public void setButtonEnabled(启用布尔值){
//面板设置可见(已启用);
//此.label.setVisible(已启用);
此.button.setVisible(已启用);
}

这里有一个通用实用程序类,可以淡出任何元素:

公共类元素音量控制器{
私有整数步数;
公共元素音量控制器(){
此.stepCount=0;
}
私有void incrementStep(){
步数++;
}
私有int getStepCount(){
返回步数;
}
公共空间衰减(最终元素元素、最终浮点起始容量、最终浮点内容量、整数总时间毫秒){
最终整数步数=30;
int stepLengthMillis=总时间毫秒/步数;
步数=0;
最终浮点增量容量=(浮点)(内部容量-起始容量)/步数;
定时器=新定时器(){
@凌驾
公开募捐{
浮点不透明度=StartCapacity+(getStepCount()*DeltaCapacity);
setStyleAttribute(元素,“不透明度”,Float.toString(不透明度));
递增步骤();
如果(getStepCount()==numberOfSteps){
setStyleAttribute(元素,“不透明”,Float.toString(内容));
这个。取消();
}
}
};
定时器。调度重复(步长毫米);
}
}
调用代码,例如:

newelementfader().fade(image.getElement(),0,1,1000);//一秒钟的淡入
新建元素fader().fade(image.getElement(),1,0,1000);//一秒淡出
您可以使用。它提供了fadeIn和fadeOut效果(以及许多其他JQuery好东西),它是跨浏览器兼容的,并且看起来相当活跃