您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Java怎么實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤映射,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
具體內(nèi)容如下
關(guān)鍵字: java 鼠標(biāo)模擬 鍵盤映射
Java SDK 1.3以后實(shí)現(xiàn)了Robot類。此類用于為測試自動(dòng)化、自運(yùn)行演示程序和其他需要控制鼠標(biāo)和鍵盤的應(yīng)用程序生成本機(jī)系統(tǒng)輸入事件。Robot 的主要目的是便于 Java 平臺(tái)實(shí)現(xiàn)自動(dòng)測試。
使用該類生成輸入事件與將事件發(fā)送到 AWT 事件隊(duì)列或 AWT 組件的區(qū)別在于:事件是在平臺(tái)的本機(jī)輸入隊(duì)列中生成的。例如,Robot.mouseMove 將實(shí)際移動(dòng)鼠標(biāo)光標(biāo),而不是只生成鼠標(biāo)移動(dòng)事件。
Robot中主要的鼠標(biāo)和鍵盤控制方法有:
? void keyPress(int keycode) 按下給定的鍵。
? void keyRelease(int keycode) 釋放給定的鍵。
? void mouseMove(int x, int y) 將鼠標(biāo)指針移動(dòng)到給定屏幕坐標(biāo)。
? void mousePress(int buttons) 按下一個(gè)或多個(gè)鼠標(biāo)按鈕。
? void mouseRelease(int buttons) 釋放一個(gè)或多個(gè)鼠標(biāo)按鈕。
? void mouseWheel(int wheelAmt) 在配有滾輪的鼠標(biāo)上旋轉(zhuǎn)滾輪。
下面就讓我們來實(shí)戰(zhàn)鼠標(biāo)控制,實(shí)現(xiàn)一個(gè)簡單的鼠標(biāo)控制程序MouseController。程序功能很簡單:隨機(jī)移動(dòng)鼠標(biāo)并點(diǎn)擊左鍵
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; } }
關(guān)于“Java怎么實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤映射”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。