我已经创造了一个GWT自定义部件延伸的composite.I正在使用that.For FocusPanel我加ClickHandler.Then我加入了键盘listner.Now上的Enter键的按下按键就应该触发点击event.Can任意一个帮助调焦面板我使用GWT中的代码触发click事件?
focusPanel.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
// TODO call onClick() method
}
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 20
我做了这个代码:
if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
myButton.fireEvent( new GwtEvent<ClickHandler>() {
@Override
public com.google.gwt.event.shared.GwtEvent.Type<ClickHandler> getAssociatedType() {
return ClickEvent.getType();
}
@Override
protected void dispatch(ClickHandler handler) {
handler.onClick(null);
}
});
}
Run Code Online (Sandbox Code Playgroud)
当然myButton必须是final或public,因为你在另一个事件处理程序中.
DLH*_*DLH 19
我没有为点击事件做过这个,但我已经完成了这样的更改事件.
NativeEvent event = Document.get().createChangeEvent();
DomEvent.fireNativeEvent(event, this);
Run Code Online (Sandbox Code Playgroud)
在[ createClickEvent](http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/dom/client/Document.html#createClickEvent(int,%20int,%20int,%20int ,%20int,%20boolean,%20boolean,%20boolean,%20boolean))方法虽然需要更多参数.
public final NativeEvent createClickEvent(int detail,
int screenX,
int screenY,
int clientX,
int clientY,
boolean ctrlKey,
boolean altKey,
boolean shiftKey,
boolean metaKey)
Run Code Online (Sandbox Code Playgroud)
111*_*01b 15
您也可以使用简单的JSNI方法来完成它.只需将您的元素[例如button.getElement()]传递给此方法:
public static native void clickElement(Element elem) /*-{
elem.click();
}-*/;
Run Code Online (Sandbox Code Playgroud)