防止JavaFx场景获得焦点 - 屏幕键盘

时间:2017-02-16 23:54:39

标签: java javafx

我试图在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了。我见过不少人尝试同样的问题,但没有人有正确的答案。

1 个答案:

答案 0 :(得分:0)

我担心目前无法用JavaFx实现这一目标。

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

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

然而,在这种情况下,我会质疑Java在技术上是否适合这项工作。有人可能会争辩说,根据定义,OSK与操作系统紧密耦合,因此更多本机工具包是有序的。这当然取决于项目的范围。作为一个副项目,这可能没问题,但作为产品不是。