我正在使用生成新 JFrame 窗口的第三方 java 库。如何让 java.awt.Robot 在出现时将点击和键盘输入发送到该特定窗口?我会在一个单独的线程中运行它,以便在机器人将输入发送到特定 JFrame 窗口时可以在主应用程序上执行其他 Activity 。
请注意,我没有 api 访问生成此 JFrame 窗口的进程。
目前,当 JFrame 窗口最小化或关闭时,机器人将继续向任何可见的当前 JFrame 窗口发送输入。
最佳答案
您获得应用程序启动的所有框架:
Frame[] frames = JFrame.getFrames();
//find the frame your looking for and call click(frame)
点击组件的中心
click(Component c){
//get center
Dimension size = c.getSize();
Point center = new Point(size.width/2, size.height/2);
//you might want to check if the component is showing.
Robot.mouseMove(center.getX(), center.getY());
Robot.keyPress(KeyEvent.VK_A);
}
关于Java Swing : Possible to send robot keyboard input to specific JFrame windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8497789/