实现此功能关键在
sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT);
public class jgImageField extends ImageField {
/**
* Creates a new Image field.
*/
public jgImageField() {
super();
}
/**
* Creates a new Image field.
*
* @param text Image location
*
*/
public jgImageField(String text) {
super(text);
}
/**
* 增加onClick、onMouseOut、onMouseOver功能
*/
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
// 增加onClick、onMouseOut、onMouseOver功能
sinkEvents(Event.ONCLICK | Event.ONMOUSEOVER | Event.ONMOUSEOUT);
}
@Override
public void onComponentEvent(ComponentEvent ce) {
super.onComponentEvent(ce);
FieldEvent fe = (FieldEvent) ce;
fe.setEvent(ce.getEvent());
switch (ce.getEventTypeInt()) {
case Event.ONMOUSEOVER:
onMouseOver(ce);
break;
case Event.ONMOUSEOUT:
onMouseOut(ce);
break;
}
}
/**
* 滑鼠移入操作
*
* @param ce
*/
protected void onMouseOver(ComponentEvent ce) {
addStyleName("x-btn");
}
/**
* 滑鼠移出操作
*
* @param ce
*/
protected void onMouseOut(ComponentEvent ce) {
}
}