-- 自己瞎写的望勿喷
public class Simulate {
private Robot robot = null;
private int x;
private int y;
public Simulate() {
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}
/**
* 操纵鼠标进行单击操作
* */
public void click(int x,int y){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
/**
* 操纵鼠标进行双击操作
* */
public void doubleclick(int x,int y){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
/**
* 操纵鼠标点击后进行竖向的向下拖动(x,y)为元素坐标;n为目标坐标
* @throws Exception
* */
public void downDrag(int x,int y,int n) throws Exception{
if(y<=n){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
for(int i=y;i<=n;i++){
Thread.sleep(2);
System.out.println(i);
robot.mouseMove(x,i);
}
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}else{
System.out.println("坐标错误无法运行");
}
}
/**
* 操纵鼠标点击后进行竖向的向下拖动(x,y)为元素坐标;n为目标坐标
* @throws Exception
* */
public void upDrag(int x,int y,int n) throws Exception{
if(y>=n){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
for(int i=y;i>=n;i--){
Thread.sleep(2);
System.out.println(i);
robot.mouseMove(x,i);
}
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}else{
System.out.println("坐标错误无法运行");
}
}
/**
* 操纵鼠标点击后进行横向的向左拖动(x,y)为元素坐标;n为目标坐标
* @throws Exception
* */
public void leftDrag(int x,int y,int n) throws Exception{
if(x>=n){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
for(int i=x;i>=n;i--){
Thread.sleep(2);
System.out.println(i);
robot.mouseMove(i,y);
}
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}else{
System.out.println("坐标错误无法运行");
}
}
/**
* 操纵鼠标点击后进行横向的向右拖动(x,y)为元素坐标;n为目标坐标
* @throws Exception
* */
public void rightDrag(int x,int y,int n) throws Exception{
if(x<=n){
robot.mouseMove(x,y);
robot.mousePress(InputEvent.BUTTON1_MASK);
for(int i=x;i<=n;i++){
Thread.sleep(2);
System.out.println(i);
robot.mouseMove(i,y);
}
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}else{
System.out.println("坐标错误无法运行");
}
}
/**
* 输入字符串,进行输入操作,如机器运行较慢则不会出现输入失误情况
* @throws Exception
* */
public void importValue(String values) throws Exception{
if(values.length()>=0){
String value=values.toUpperCase();
char [] crr=value.toCharArray();
for(int i=0;i<=crr.length-1;i++){
Thread.sleep(15);
robot.keyPress((int)crr[i]);
}
}else{
System.out.println("输入错误,请重新输入");
}
}
/**
* 用户点击特殊按钮(此方法尚不完全,有待改进)
* */
public void setDefaultValue(String value){
value=value.toUpperCase();
if(value.equals("F1")){robot.keyPress(KeyEvent.VK_F1);}
else if(value.equals("F2")){robot.keyPress(KeyEvent.VK_F2);robot.keyRelease(KeyEvent.VK_F2);}
else if(value.equals("F3")){robot.keyPress(KeyEvent.VK_F3);robot.keyRelease(KeyEvent.VK_F3);}
else if(value.equals("F4")){robot.keyPress(KeyEvent.VK_F4);robot.keyRelease(KeyEvent.VK_F4);}
else if(value.equals("F5")){robot.keyPress(KeyEvent.VK_F5);robot.keyRelease(KeyEvent.VK_F5);}
else if(value.equals("F6")){robot.keyPress(KeyEvent.VK_F6);robot.keyRelease(KeyEvent.VK_F6);}
else if(value.equals("F7")){robot.keyPress(KeyEvent.VK_F7);robot.keyRelease(KeyEvent.VK_F6);}
else if(value.equals("F8")){robot.keyPress(KeyEvent.VK_F8);robot.keyRelease(KeyEvent.VK_F8);}
else if(value.equals("SHIFT")){robot.keyPress(KeyEvent.VK_SHIFT);robot.keyRelease(KeyEvent.VK_SHIFT);}
else if(value.equals("TAB")){robot.keyPress(KeyEvent.VK_TAB);robot.keyRelease(KeyEvent.VK_TAB);}
else if(value.equals("BACK_SPACE")){robot.keyPress(KeyEvent.VK_BACK_SPACE);robot.keyRelease(KeyEvent.VK_BACK_SPACE);}
else if(value.equals("SPACE")){robot.keyPress(KeyEvent.VK_SPACE);robot.keyRelease(KeyEvent.VK_SPACE);}
else if(value.equals("ENTER")){robot.keyPress(KeyEvent.VK_ENTER);robot.keyRelease(KeyEvent.VK_ENTER);}
else{ System.out.println("此字符尚不支持此操作");}
}
}
Java 模拟鼠标操作
最新推荐文章于 2024-05-24 22:10:38 发布