欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaFX学习之FXRobot

程序员文章站 2022-06-08 10:37:32
...
FXRobot通过该类可以模拟键盘事件,一般用于虚拟键盘,相当于手机上的虚拟键盘。

Ctrl+A全选

FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.CONTROL);
robot.keyPress(KeyCode.A);
robot.keyType(KeyCode.A, "");
robot.keyRelease(KeyCode.A);
robot.keyRelease(KeyCode.CONTROL);

要按顺序,Ctrl,A,A,Ctrl。
复制,粘贴等就改成相应的就可以了。

输入值得话

FXRobot robot = FXRobotFactory.createRobot(scene);
robot.keyPress(KeyCode.A);
robot.keyType(KeyCode.A, "A");
robot.keyRelease(KeyCode.A);


看个完整例子:模拟全选Ctrl+A组合键

@Override
public void start(Stage stage) throws Exception {
Group group = new Group();

final TextField tf = new TextField();
group.getChildren().add(tf);
Scene scene = new Scene(group,600,500);
Button button = new Button("Ctrl+A");
button.setLayoutY(100);
group.getChildren().add(button);
final FXRobot robot = FXRobotFactory.createRobot(scene);
button.setOnAction(new EventHandler<ActionEvent>(){

@Override
public void handle(ActionEvent arg0) {
tf.requestFocus();
robot.keyPress(KeyCode.CONTROL);
robot.keyPress(KeyCode.A);
robot.keyType(KeyCode.A, "");
robot.keyRelease(KeyCode.A);
robot.keyRelease(KeyCode.CONTROL);
}
});
stage.setScene(scene);
stage.show();
}
相关标签: javafx 虚拟键盘