机器人和keyPress

ass*_*ias 1 java javafx javafx-2

使用该keyPress方法时需要将哪种代码传递给JavaFX Robot ?

例如,下面的例子输入a 1,而不是an a,所以我想某处有一个映射.

Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot();
robot.keyPress(((int) 'a');
Run Code Online (Sandbox Code Playgroud)

注意:这是JavaFX机器人,而不是AWT机器人.

Jk1*_*Jk1 5

代码在javafx.scene.input.KeyCode中定义为常量.

使用玻璃机器人,您可以使用已弃用的方法impl_getCode:

Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot();
robot.keyPress(KeyCode.A.impl_getCode());
Run Code Online (Sandbox Code Playgroud)

您还可以使用FXRobot,它将KeyCodes作为参数:

FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(javafx.scene.input.KeyCode.A);
Run Code Online (Sandbox Code Playgroud)