gwt - 在 GWT 中触发 (KEY_ENTER) 按键事件

标签 gwt

我想要做的是在 GWT 中触发 Enter 按键事件。
这是我的 key 处理程序:

    itemBox.addKeyDownHandler(new KeyDownHandler() { 
          public void onKeyDown(KeyDownEvent event) {
                 if(event.getNativeKeyCode == KeyCodes.KEY_ENTER) {
                       // do something
                 }

然后我想触发一个回车键按下事件,但我似乎无法弄清楚我是如何做到这一点的。我想做一些类似 KeyDownEvent.setNativeKeyCode(KEY_ENTER) 的事情。
     textBox.fireEvent(new KeyDownEvent(null));

可以设置这些参数吗?

最佳答案

您可以使用 DomEvent.fireNativeEvent 而不是 textBox.fireEvent 来触发事件。

这是一个如何执行此操作的工作示例:

final TextBox tb = new TextBox();
tb.addKeyDownHandler(new KeyDownHandler() {

    @Override
    public void onKeyDown(KeyDownEvent event) {
     if(event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                 Window.alert("enter!");
           }
    }
});

Button b = new Button("keyevent");
b.addClickHandler(new ClickHandler() {

    @Override
    public void onClick(ClickEvent event) {
    DomEvent.fireNativeEvent(Document.get().createKeyDownEvent(false, false, false, false, KeyCodes.KEY_ENTER), tb);
    }
});

RootPanel.get().add(tb);
RootPanel.get().add(b);

关于gwt - 在 GWT 中触发 (KEY_ENTER) 按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13025637/

相关文章:

java - GWT 2.1 编辑器框架如何支持原始类型?

gradle - 使用 Gradle 编译 Vaadin 小部件集

java - GWT 中的 MYSQL 驱动程序错误

java - 在 tomcat 上运行时 ClassLoader.getSystemResourceAsStream 不工作

java - GXT FramedPanel 拖动标题

java - 使用 Hibernate + Javassist + Gilead 时出现 "Duplicate method"错误

gwt - 如何在 GWT 中传递 "url with parameters"作为 url 参数

GWT - FlowPanel 和调整大小

java - servlet 在 GWT 中不工作

java - 如何使用 GWT 以编程方式在 CSS 类中设置宽度?