在GWT的水平面板上捕获鼠标事件
有没有办法在gwt的水平面板上捕获鼠标事件? 我正在尝试捕捉mousedown或onclick事件,但我无法让它工作。这就是我到目前为止所做的在GWT的水平面板上捕获鼠标事件,gwt,Gwt,有没有办法在gwt的水平面板上捕获鼠标事件? 我正在尝试捕捉mousedown或onclick事件,但我无法让它工作。这就是我到目前为止所做的 final HorizontalPanel container = new HorizontalPanel() { @Override public void sinkEvents(int eventBitsToAdd) { // TODO Auto-generated method stub
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());*/
}
};
我不知道为什么这不起作用。
任何帮助都将不胜感激。
感谢
而不是手工下沉和阅读事件,你可以考虑使用:
你可以使用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
}
});
@Danny Kirchmeier这很有趣。例如,它是否也适用于FlowPanel?在我尝试addHandler(…)而不是addDomHandler()之前,我的流面板不支持鼠标事件,所以addHandler()和addDomHandler()之间有区别吗?注释请将addHandler()表示为@user592704是的,这将适用于FlowPanel、SimplePanel、Labels或任何其他小部件。这两种方法的区别在于,
addDomHandler
将接收相关事件位并添加逻辑处理程序,其中asaddHandler
仅添加逻辑处理程序。下面是源代码(v2.2,第76行):[+1@Danny kircmeier哦,我为flowpanel尝试了adddomdhandler,它成功了:)谢谢
HorizontalPanel yourContainer = new HorizontalPanel();
FocusPanel wrapper = new FocusPanel();
wrapper.add(yourContainer );
wrapper.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// Handle the click
}
});