您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關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。程序功能很簡單:隨機移動鼠標并點擊左鍵
package robot; 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; public class MourseControl implements Runnable{ private Dimension dim; private Random rand; private Robot robot; private volatile boolean stop = false; public MourseControl() { // dim = Toolkit.getDefaultToolkit().getScreenSize(); rand = new Random(); try { robot = new Robot(); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub MourseControl m = new MourseControl(); Thread t = new Thread(m); t.start(); System.out.println("MourseControl start..."); try { Thread.sleep(10000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } m.stop(); System.out.println("MourseControl stop..."); } public void run() { // TODO Auto-generated method stub while(!stop) { int x = rand.nextInt(dim.width); int y = rand.nextInt(dim.height); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } robot.mouseMove(x, y); System.out.println("move to :x="+x+",y="+y); robot.mousePress(InputEvent.BUTTON1_MASK); } } public synchronized void stop() { stop = true; } }
關于“Java怎么實現鼠標模擬與鍵盤映射”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。