【问题标题】:Prevent JavaFx Scene from gaining focus - Onscreen Keyboard防止 JavaFx 场景获得焦点 - 屏幕键盘
【发布时间】:2017-02-17 22:02:22
【问题描述】:

我正在尝试在 javafx 中构建屏幕键盘。我遇到的唯一问题是,当您选择 javafx 场景或单击窗口上的按钮时,焦点会重定向到 javafx 场景,并且单击按钮实际上并未在浏览器、文本文档等上键入字母.

这是我的按钮点击代码。我正在使用机器人类。

private void handleButtonAction(ActionEvent event) throws AWTException {

    Robot a = new Robot();
    a.keyPress(KeyEvent.VK_Y);//testing keypress of "Y".

}

我在 Swing 中看到了如何将焦点属性设置为 false,但我已开始使用 JavaFx。我见过很多人尝试过同样的问题,但没有人给出正确的答案。

【问题讨论】:

    标签: java javafx


    【解决方案1】:

    恐怕目前还没有办法纯粹用 JavaFx 来实现。

    这是an example 如何通过将 JavaFx-App 包装在 Swing-App 中来实现它。一个建筑怪物;)。

    或者,我可以想象在这种情况下使用像 JNI/JNA 这样的原生层是可能的。

    但是,在这种情况下,我会质疑 Java 在技术上是否适合这项工作。有人可能会争辩说,根据定义,OSK 与 OS 紧密耦合,因此需要更多的本地工具包。这当然取决于您的项目范围。作为一个副项目,这可能很好,但作为一个产品就不行了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-13
      • 2014-06-15
      • 2020-11-22
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      相关资源
      最近更新 更多