2

新しい JFrame ウィンドウを生成するサードパーティの Java ライブラリを使用しています。その特定のウィンドウが表示されたときにクリックとキーボード入力を java.awt.Robot に送信させるにはどうすればよいですか? 別のスレッドで実行して、ロボットが特定の JFrame ウィンドウに入力を送信している間にメイン アプリケーションで他のアクティビティを実行できるようにします。

このJFrameウィンドウを生成するプロセスへのAPIアクセスがないことに注意してください。

現在、その JFrame ウィンドウが最小化または閉じられている場合、ロボットは現在表示されている JFrame ウィンドウに入力を送信し続けます。

4

1 に答える 1

1

アプリケーションによって起動されたすべてのフレームを取得します。

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);

}
于 2011-12-23T15:10:04.500 に答える