java - GWT - 如何将 KeyDownHandler 添加到 Rootpanel

标签 java gwt keyboard-events

基本要求是我的应用程序应该能够识别组合键 ALT + S 来保存任何表单,以便用户不必使用鼠标并一直到“保存”按钮来单击来保存表单表格。

我试图像这样将 KeyDownHandler 添加到 RootPanel,但这似乎不起作用。

RootPanel rootPanel = RootPanel.get("mainpanel");

KeyDownHandler handler = new KeyDownHandler() {
    @Override
    public void onKeyDown(KeyDownEvent arg0) {

        if (arg0.isAltKeyDown() && arg0.getNativeKeyCode() == 83) {
            save();
        }
    }
};

rootPanel.addDomHandler(handler, KeyDownEvent.getType());

有办法实现这一点吗?

最佳答案

你可以尝试这样的事情:

Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
  @Override
  public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
    if (event.getNativeEvent()
             .getType().equals("keydown")) {
      if (event.getNativeEvent().getAltKey() &&
          event.getNativeEvent().getKeyCode() == KeyCodes.KEY_S) {
        save();
      }
    }
  }
});

希望有帮助。

关于java - GWT - 如何将 KeyDownHandler 添加到 Rootpanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35892305/

相关文章:

java - hashandlers在gwt中是什么意思

javascript - 火狐操作系统 : start searching on enter key press

java - 泛型类列表的奇怪错误

gwt - 如何本地化用作 vaadin 富文本区域工具提示的文本?

java - Clickhandler 不触发

html - "Billing address same as shipping address"jQuery 脚本 : is there a better way to do this?

c++ - SDL 2.0 按键重复和延迟

java - 接收错误: incompatible types: possible lossy conversion from double to int for my array

java - 在groovy中动态加载jar

java - 如何实现波斯日历