Java实现鼠标模拟与键盘映射
本文实例为大家分享了Java实现鼠标模拟与键盘映射的具体代码,供大家参考,具体内容如下
关键字:java鼠标模拟键盘映射
JavaSDK1.3以后实现了Robot类。此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试。
使用该类生成输入事件与将事件发送到AWT事件队列或AWT组件的区别在于:事件是在平台的本机输入队列中生成的。例如,Robot.mouseMove将实际移动鼠标光标,而不是只生成鼠标移动事件。
Robot中主要的鼠标和键盘控制方法有:
• voidkeyPress(intkeycode)按下给定的键。
• voidkeyRelease(intkeycode)释放给定的键。
• voidmouseMove(intx,inty)将鼠标指针移动到给定屏幕坐标。
• voidmousePress(intbuttons)按下一个或多个鼠标按钮。
• voidmouseRelease(intbuttons)释放一个或多个鼠标按钮。
• voidmouseWheel(intwheelAmt)在配有滚轮的鼠标上旋转滚轮。
下面就让我们来实战鼠标控制,实现一个简单的鼠标控制程序MouseController。程序功能很简单:随机移动鼠标并点击左键
packagerobot;
importjava.awt.AWTException;
importjava.awt.Dimension;
importjava.awt.Robot;
importjava.awt.Toolkit;
importjava.awt.event.InputEvent;
importjava.util.Random;
publicclassMourseControlimplementsRunnable{
privateDimensiondim;
privateRandomrand;
privateRobotrobot;
privatevolatilebooleanstop=false;
publicMourseControl()
{
//
dim=Toolkit.getDefaultToolkit().getScreenSize();
rand=newRandom();
try{
robot=newRobot();
}catch(AWTExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
MourseControlm=newMourseControl();
Threadt=newThread(m);
t.start();
System.out.println("MourseControlstart...");
try{
Thread.sleep(10000);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
m.stop();
System.out.println("MourseControlstop...");
}
publicvoidrun(){
//TODOAuto-generatedmethodstub
while(!stop)
{
intx=rand.nextInt(dim.width);
inty=rand.nextInt(dim.height);
try{
Thread.sleep(2000);
}catch(InterruptedExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
robot.mouseMove(x,y);
System.out.println("moveto:x="+x+",y="+y);
robot.mousePress(InputEvent.BUTTON1_MASK);
}
}
publicsynchronizedvoidstop()
{
stop=true;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。