【问题标题】:How to convert a KeyCode into a KeyValue如何将 KeyCode 转换为 KeyValue
【发布时间】:2015-09-12 21:31:51
【问题描述】:

我正在使用JavaFX 接收使用.setOnKeyReleased 的密钥输入。问题是这给了我一个keyCode,但要使用robot class(试过fx机器人,但它是“受限的”)我需要一个keyValue int

无论如何我可以将KeyCode(Fx)KeyEvent 转换为keyValue?请帮助,无法弄清楚这一点。谢谢

【问题讨论】:

    标签: java javafx awt awtrobot


    【解决方案1】:

    你可以试试 KeyCode 的impl_getCode()。但请注意,这是内部的,很可能会随着 Java 9 的变化而改变。来自 KeyCode 类:

    /**
     * @treatAsPrivate implementation detail
     * @deprecated This is an internal API that is not intended for use and will be removed in the next version
     */
    // SB-dependency: RT-22749 has been filed to track this
    @Deprecated
    public int impl_getCode() {
        return code;
    }
    

    为什么这种方法不合适,是个谜。

    使用它 e. G。像这样:

    scene.addEventFilter(KeyEvent.KEY_RELEASED, e -> {
        System.out.println(e.getCode().impl_getCode());
    });
    

    如果 Java 实现更改导致一切失败,您始终可以使用 Java 源创建自己的 JavaFX 键码到 awt 键码的映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多