本文代码来自以下连接。
http://www.developer.com/java/other/article.php/10936_2212401_3(introduction to the java robot class in java)
代码简单说明:可以启动windows的notepad程序,并输入 hello world 。
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class robot05{
//create an array of keycode data
static int keyinput[] = {
keyevent.vk_h,
keyevent.vk_e,
keyevent.vk_l,
keyevent.vk_l,
keyevent.vk_o
};//end keyinput array
public static void main(string[] args)
throws awtexception,ioexception{
runtime.getruntime().exec("notepad");
robot robot = new robot();
robot.keypress(keyevent.vk_shift);
for (int cnt2 = 0;cnt2 < keyinput.length; cnt2++){
if(cnt2 > 0){
robot.keyrelease(keyevent.vk_shift);
}//end if
robot.keypress(keyinput[cnt2]);
//insert a one-half second delay between
// characters.
robot.delay(500);
}//end for loop
}//main
}//end class robot05
robot05的gui版本。
robot05gui.java
/**
* robot05gui.java
* create by kin. 2004/11/07.
* please enjoy this.
*/
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;
/**robot05s gui version.*/
public class robot05gui extends jframe {
private jbutton b = new jbutton("start notepad and input \"hello world\"");
public robot05gui() {
super("start notepad and input \"hello world\"");
getcontentpane().add(b,borderlayout.center);
b.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
try {
new robot05().main(new string[]{});
} catch (exception ex) {
ex.printstacktrace();
}
}
});
}
public static void main(string[] args) {
robot05gui r = new robot05gui();
r.setsize(200,200);
r.setvisible(true);
}
}
