最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤(pán)映射

 更新時(shí)間:2019年08月21日 15:15:22   作者:xscool  
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤(pán)映射,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Java實(shí)現(xiàn)鼠標(biāo)模擬與鍵盤(pán)映射的具體代碼,供大家參考,具體內(nèi)容如下

關(guān)鍵字: java 鼠標(biāo)模擬 鍵盤(pán)映射

Java SDK 1.3以后實(shí)現(xiàn)了Robot類(lèi)。此類(lèi)用于為測(cè)試自動(dòng)化、自運(yùn)行演示程序和其他需要控制鼠標(biāo)和鍵盤(pán)的應(yīng)用程序生成本機(jī)系統(tǒng)輸入事件。Robot 的主要目的是便于 Java 平臺(tái)實(shí)現(xiàn)自動(dòng)測(cè)試。

使用該類(lèi)生成輸入事件與將事件發(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)和鍵盤(pán)控制方法有:

• 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)滾輪。

下面就讓我們來(lái)實(shí)戰(zhàn)鼠標(biāo)控制,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的鼠標(biāo)控制程序MouseController。程序功能很簡(jiǎn)單:隨機(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;
 }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • mybatisplus報(bào)錯(cuò):Invalid bound statement(not found)問(wèn)題及解決

    mybatisplus報(bào)錯(cuò):Invalid bound statement(not fou

    文章主要介紹了在使用MyBatis-Plus時(shí)遇到的`Invalid bound statement (not found)`錯(cuò)誤的幾種常見(jiàn)原因和解決方法,包括namespace路徑不一致、函數(shù)名或標(biāo)簽id不一致、構(gòu)建未成功、掃包配置錯(cuò)誤以及配置文件書(shū)寫(xiě)錯(cuò)誤
    2025-02-02
  • maven多profile 打包下 -P參和-D參數(shù)的實(shí)現(xiàn)

    maven多profile 打包下 -P參和-D參數(shù)的實(shí)現(xiàn)

    這篇文章主要介紹了maven多profile 打包下 -P參和-D參數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • spring事務(wù)里面開(kāi)啟線程插入報(bào)錯(cuò)了是否會(huì)回滾

    spring事務(wù)里面開(kāi)啟線程插入報(bào)錯(cuò)了是否會(huì)回滾

    這篇文章主要介紹了spring事務(wù)里面開(kāi)啟線程插入,報(bào)錯(cuò)了是否會(huì)回滾?這是小編遇到一道面試題,題目大概是這個(gè)樣子,今天抽空通過(guò)示例代碼給大家分析下,需要的朋友可以參考下
    2023-04-04
  • java實(shí)現(xiàn)的各種排序算法代碼示例

    java實(shí)現(xiàn)的各種排序算法代碼示例

    這篇文章主要介紹了java實(shí)現(xiàn)的各種排序算法代碼示例,比較全面,代碼親測(cè)可用,如有不足之處,歡迎留言指出。
    2017-10-10
  • java 字符串分割的三種方法(總結(jié))

    java 字符串分割的三種方法(總結(jié))

    下面小編就為大家?guī)?lái)一篇java 字符串分割的三種方法(總結(jié))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • 使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目的圖文教程

    使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目的圖文教程

    這篇文章主要介紹了使用Idea簡(jiǎn)單快速搭建springcloud項(xiàng)目,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Java 對(duì) Properties 文件的操作詳解及簡(jiǎn)單實(shí)例

    Java 對(duì) Properties 文件的操作詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了Java 對(duì) Properties 文件的操作詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • SpringCloud Gateway使用詳解

    SpringCloud Gateway使用詳解

    Spring Cloud Gateway是一個(gè)基于Spring Boot 2.x和Spring WebFlux的API網(wǎng)關(guān),可以幫助我們構(gòu)建微服務(wù)架構(gòu)中的統(tǒng)一入口。感興趣的同學(xué)可以參考一下
    2023-04-04
  • Spring核心IoC和AOP的理解

    Spring核心IoC和AOP的理解

    本文主要介紹了Spring核心IoC和AOP的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Spring Boot Admin Server管理客戶(hù)端過(guò)程詳解

    Spring Boot Admin Server管理客戶(hù)端過(guò)程詳解

    這篇文章主要介紹了Spring Boot Admin Server管理客戶(hù)端過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

灵山县| 敦煌市| 白朗县| 商城县| 望江县| 甘南县| 小金县| 镇赉县| 普定县| 定陶县| 永济市| 九江市| 嘉义县| 威海市| 论坛| 晋宁县| 科技| 汤原县| 上林县| 肇源县| 库车县| 闵行区| 余江县| 宁明县| 清镇市| 会泽县| 博罗县| 屯昌县| 南阳市| 新干县| 辽宁省| 新郑市| 浦江县| 遂昌县| 泽州县| 新竹市| 互助| 札达县| 武山县| 葵青区| 堆龙德庆县|