【问题标题】:Robot and keyPress机器人和按键
【发布时间】:2013-08-10 19:12:59
【问题描述】:

在使用keyPress 方法时需要将什么样的代码传递给JavaFX Robot?

例如,下面的示例输入了1,而不是a,所以我想某处有映射。

Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot();
robot.keyPress(((int) 'a');

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

【问题讨论】:

    标签: java javafx-2 javafx


    【解决方案1】:

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

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

    Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot();
    robot.keyPress(KeyCode.A.impl_getCode());
    

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

    FXRobot robot = FXRobotFactory.createRobot(scene);
    robot.keyPress(javafx.scene.input.KeyCode.A);
    

    【讨论】:

    • 它在寻找我,虽然我还没有证据,com.sun.glass.ui.Robot 现在有点被弃用,取而代之的是 com.sun.javafx.robot.FXRobot。在您的情况下,特定的机器人实施是否重要?
    • 实际上this message 似乎说FXRobot 可能会在他们的测试套件中使用玻璃机器人时被移除......这令人困惑......
    • 确实如此。弃用在这里似乎相互矛盾。值得打开一个问题来把事情弄清楚
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多