有没有办法在gwt的水平面板上捕获鼠标事件? 我正在尝试捕获mousedown或onclick事件,但我无法让它工作。这就是我到目前为止所做的事情
final HorizontalPanel container = new HorizontalPanel() {
@Override
public void sinkEvents(int eventBitsToAdd) {
// TODO Auto-generated method stub
super.sinkEvents(Event.ONCLICK);
}
@Override
public void onBrowserEvent(final Event event) {
// TODO Auto-generated method stub
super.onBrowserEvent(event);
if (DOM.eventGetType(event) == Event.ONCLICK) {
System.out.println("event type -->> " + event.getType());
}
/*if(Event.ONMOUSEDOWN == arg0.getTypeInt())
System.out.println("event type -->> " + arg0.getType());*/
}
};
我不知道为什么这不起作用。 任何帮助,将不胜感激。 感谢
答案 0 :(得分:7)
您可以考虑使用Widget#addDomHandler():
,而不是手动下沉和阅读事件HorizontalPanel container = new HorizontalPanel();
ClickHandler cHandler = new ClickHandler(){ /* ... */ };
MouseDownHandler mdHandler = new MouseDownHandler(){ /* ... */ };
container.addDomHandler(cHandler, ClickEvent.getType());
container.addDomHandler(mdHandler, MouseDownEvent.getType());
答案 1 :(得分:0)
您可以使用FocusPanel。例如:
HorizontalPanel yourContainer = new HorizontalPanel();
FocusPanel wrapper = new FocusPanel();
wrapper.add(yourContainer );
wrapper.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// Handle the click
}
});