java整理軟體---java類比鍵盤,滑鼠操作

來源:互聯網
上載者:User
1.Java 類比鍵盤輸入的小Demo,實現自動按下:類比Ctrl+Alt+Z的按下和抬起 
  如果你開著qq的話,那麼qq會自動彈出來.哈哈,代替人工操作;
import java.awt.Robot; 
import java.awt.event.KeyEvent; 
 
public class RobotDemo 

    private Robot robot = null; 
     
    public RobotDemo() 
    { 
        try 
        { 
            robot = new Robot(); 
        } 
        catch (AWTException e) 
        { 
            // TODO Auto-generated catch block 
            e.printStackTrace(); 
        } 
    } 
     
    //類比Ctrl+Alt+Z的按下和抬起 
    public void keyBoardDemo() 
    { 
        robot.keyPress(KeyEvent.VK_CONTROL); 
        robot.keyPress(KeyEvent.VK_ALT); 
        robot.keyPress(KeyEvent.VK_Z); 
        robot.keyRelease(KeyEvent.VK_CONTROL); 
        robot.keyRelease(KeyEvent.VK_ALT); 
        robot.keyRelease(KeyEvent.VK_Z); 
    } 
     
    public static void main(String[] args) 
    { 
        RobotDemo demo = new RobotDemo(); 
        demo.keyBoardDemo(); 
    } 
}
-------------------------------------------------------------------------
2.試試java類比 空格+Ctrl 按鍵。
按鍵的可以看看My Code樣本:
public class Rebot extends Robot {
    String s3="";
    public Rebot() throws AWTException {
        super();
    }

    public void YiDong(int a, int b) {
        this.mouseMove(a, b);
    }

    public void ZanTing(int time) {
        try {
            new Thread().sleep(time);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void DianJi() {
        this.mousePress(MouseEvent.BUTTON1_MASK);
        this.mouseRelease(MouseEvent.BUTTON1_MASK);
    }
    public void HuiChe(){
        this.keyPress(KeyEvent.VK_ENTER);
        this.keyRelease(KeyEvent.VK_ENTER);
    }
}
-------------------------------------------------------------------
4.Java中實現滑鼠類比與鍵盤對應
關鍵字: java 滑鼠類比 鍵盤對應
Java SDK 1.3以後實現了Robot類。此類用於為測試自動化、自運行示範程式和其他需要控制

滑鼠和鍵盤的應用程式產生本機系統輸入事件。Robot 的主要目的是便於 Java 平台實現自

動測試。
使用該類產生輸入事件與將事件發送到 AWT 事件隊列或 AWT 組件的區別在於:事件是在平

台的本機輸入隊列中產生的。例如,Robot.mouseMove 將實際移動滑鼠游標,而不是只產生

滑鼠移動事件。
Robot中主要的滑鼠和鍵盤控制方法有:
•    void keyPress(int keycode) 按下給定的鍵。
•    void keyRelease(int keycode) 釋放給定的鍵。
•    void mouseMove(int x, int y) 將滑鼠指標移動到給定螢幕座標。
•    void mousePress(int buttons) 按下一個或多個滑鼠按鍵。
•    void mouseRelease(int buttons) 釋放一個或多個滑鼠按鍵。
•    void mouseWheel(int wheelAmt) 在配有滾輪的滑鼠上旋轉滾輪。
下面就讓我們來實戰滑鼠控制,實現一個簡單的滑鼠控製程序MouseController。程式功能很

簡單:隨機移動滑鼠並點擊左鍵。
代碼如下:
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.util.Random;

/**
*
* @author Xiaofeng Wang
*/
public class MouseController implements Runnable {
private Dimension dim;
private Random rand;
private Robot robot;
private volatile boolean stop = false;
/** Creates a new instance of Main */
public MouseController() {
dim = Toolkit.getDefaultToolkit().getScreenSize();
rand = new Random();
try {
robot = new Robot();
} catch (AWTException ex) {
ex.printStackTrace();
}
}

public void run() {
while(!stop) {
int x = rand.nextInt(dim.width);
int y = rand.nextInt(dim.height);
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
try {
Thread.sleep(3000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public synchronized void stop() {
stop = true;
}
/** * @param args the command line arguments */
public static void main(String[] args) {
MouseController mc = new MouseController();
Thread mcThread = new Thread(mc);
System.out.println("Mouse Controller start");
mcThread.start();
try {
Thread.sleep(60000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
mc.stop();
System.out.println("Mouse Controller stoped");
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.