GXT ImageField 增加onClick、onMouseOver、onMouseClick互动功能

来源:互联网 发布:linux c 语言编程 编辑:程序博客网 时间:2024/04/29 18:29

实现此功能关键在

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) {

 

}

 

}