java - 在 GWT 应用程序中捕获 ctrl-z(撤消)和 ctrl-y(重做)

标签 java javascript gwt jakarta-ee jsni

我一直在编写一个基于 GWT 2.3 的 Web 应用程序,并且我还编写了自己的撤消和重做功能。当用户按 ctr-z 或 ctr-y 时,将撤消或重做最后的更改。他们是一种有效检测页面上任何位置发生的 ctr-z 和 ctr-y 按键事件并导致它们运行我自己的函数的方法。

最佳答案

添加NativePreviewHandler :

Event.addNativePreviewHandler(new NativePreviewHandler() {
  @Override
  public void onPreviewNativeEvent(NativePreviewEvent event) {
    if (event.getTypeInt() == Event.ONKEYDOWN) {
      NativeEvent ne = event.getNativeEvent();

      if (ne.getCtrlKey() && ne.getKeyCode() == 'Z') {
        event.cancel();
        // Handle undo
      } else if (ne.getCtrlKey() && ne.getKeyCode() == 'Y') {
        event.cancel();
        // Handle redo
      }
    }
  }
});

关于java - 在 GWT 应用程序中捕获 ctrl-z(撤消)和 ctrl-y(重做),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7914305/

相关文章:

java - 以确定的增量移动字符串中的字符

java - Queue#offer() 应该优先于 Queue#add() 吗?为什么?

java - 如何淡化 GWT FlexTable 中单元格的颜色

java - Codahale 指标 : using @Timed metrics annotation in plain Java

java - 多次动画翻译后将 Android View 保持在新位置?

javascript - 根据值 HIGHCHARTS 放置条件

javascript - 当我们在平板电脑上点击外部时如何关闭 bootstrap 3 下拉菜单?

javascript变量到php数组

java - GWT:Maven 错误:jar 必须为 'pom' 才能导入托管依赖项

gwt - GWT 对话框标题应该在哪里设置?