Java 我如何知道哪个小部件调用处理程序或事件?
我在我的项目中使用GWT平台,我想检查什么小部件称为某个处理程序,例如BlurHandler 我提出问题的原因如下。此BlurHandler由四个TextField注册Java 我如何知道哪个小部件调用处理程序或事件?,java,gwt,mvp,gwtp,Java,Gwt,Mvp,Gwtp,我在我的项目中使用GWT平台,我想检查什么小部件称为某个处理程序,例如BlurHandler 我提出问题的原因如下。此BlurHandler由四个TextField注册 @Override public void addFormatTextBoxListener(BlurHandler handler) { tbAlt.addBlurHandler(handler); tbLat.addBlurHandler(handler); tbMedida.addBlurHandl
@Override
public void addFormatTextBoxListener(BlurHandler handler) {
tbAlt.addBlurHandler(handler);
tbLat.addBlurHandler(handler);
tbMedida.addBlurHandler(handler);
tbLong.addBlurHandler(handler);
}
在我的演示者中,我想找到哪个字段(小部件)失去了焦点(BlurEvent的结果)
当四个小部件之一失去焦点时,将调用方法doFormatTextBox。但是什么小部件失去了焦点呢?重编事件API(http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/Event.html)
它就像Element e1=event.getTarget()
,然后执行if(e1.equals(widget1.getElement()){//do stuff…}
应该可以工作
这是假设BlurEvent扩展了
com.google.gwt.user.client.Event
,我不完全确定。请提及您的gwt和gwt平台版本。即使是处理程序在gwt 1.5中也不可用。它是在以后的GWT版本中引入的。不过,您的解决方案的前提是正确的。我同时使用gwt和gwtp的最新版本。我试试你的解决办法。谢谢它可以工作:D,但不是event.getTarget()代码>使用event.getRelativeElement()代码>
getView().addFormatTextBoxListener(new BlurHandler() {
@Override
public void onBlur(BlurEvent event) {
doFormatTextBox();
}
});
private void doFormatTextBox() {
//who called me???
}