import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.input.MouseButton;
import javafx.scene.layout.FlowPane;
import javafx.scene.robot.Robot;
import javafx.stage.Stage;


/**
 * JavaFX App
 */
public class App extends Application {

    @Override
    public void start(Stage stage) {
        var button = new Button("test robot");
        var button2 = new Button("display hello");
        var scene = new Scene(new FlowPane(button, button2), 640, 480);
        stage.setScene(scene);
        stage.show();
        
        button.setOnAction(e -> {
            Robot robot = new Robot();
            robot.mouseMove(button2.localToScreen(1, 1));
            robot.mouseClick(MouseButton.PRIMARY);
        });
        button2.setOnAction(e -> {
            Dialog<String> dialog = new Dialog();
            dialog.setContentText("hello");
            dialog.getDialogPane().getButtonTypes().add(ButtonType.OK);
            dialog.show();
        });
    }

    public static void main(String[] args) {
        launch();
    }

}