我是靠谱客的博主 殷勤帽子,最近开发中收集的这篇文章主要介绍Matlab探寻(一):控制鼠标和模拟键盘(java.awt.Robot)添加引用控制鼠标模拟键盘总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  Mtalab真的是很强大,不过它自身不能实现鼠标单击和按下键盘等事件的模拟。本文通过调用java.awt.Robot类来实现以上功能

添加引用

  首先在Matlab中添加以下代码,引用java.awt.Robot类,并实例化

import java.awt.Robot;
import java.awt.event.*;

robot = java.awt.Robot;

控制鼠标

  设置鼠标光标位置,我们可以使用以下方法 , 其中(x, y)为鼠标光标相对于屏幕左上角的坐标 。这样我们就可以灵活控制鼠标移动到屏幕的任何位置。

 robot.mouseMove(X, Y)

  控制鼠标单击,可以使用以下方法,其中为了成功单击,figure必须具有焦点,鼠标必须放置在figure上,所以添加了figure(gcf); drawnow;

figure(gcf); drawnow;
robot.mousePress  (java.awt.event.InputEvent.BUTTON1_MASK);
robot.mouseRelease(java.awt.event.InputEvent.BUTTON1_MASK);

  控制鼠标双击,同样的道理,把mousePress和mouseRelease重新调用一遍:

figure(gcf); drawnow;
robot.mousePress  (java.awt.event.InputEvent.BUTTON1_MASK);
robot.mouseRelease(java.awt.event.InputEvent.BUTTON1_MASK);
robot.mousePress  (java.awt.event.InputEvent.BUTTON1_MASK);
robot.mouseRelease(java.awt.event.InputEvent.BUTTON1_MASK);

  当然如果没有使用figure,而是在Matlab里使用其他程序的界面(比如WPF),figure(gcf); drawnow;可以删掉,但是必须保证你的界面获取了焦点。
  当然还可以控制鼠标其他键,方法如下 :

java.awt.event.InputEvent.BUTTON1_MASK   // left mouse button 
java.awt.event.InputEvent.BUTTON2_MASK   // middle mouse button
java.awt.event.InputEvent.BUTTON3_MASK   // right mouse button

模拟键盘

  和控制鼠标的原理类似,模拟键盘只需要调用不同的方法。模拟按下键盘的“V”,可以这样写:

robot.keyPress    (java.awt.event.KeyEvent.VK_V);
robot.keyRelease  (java.awt.event.KeyEvent.VK_V);

  java中常用的(电脑)键盘常量如下:

键盘常量键名键盘常量键盘常量
VK_CONTROL控制键VK_UP上箭头
VK_SHIFTshift键VK_DOWN下箭头
VK_BACK_SPACE退格键VK_LEFT左箭头
VK_ENTER回车键VK_RIGHT右箭头
VK_SPACE空格键VK_ESCAPEEsc键
VK_F1- -VK_F12F1- -F12VK_TABTab键
VK_0 - -VK_90- -9VK_PGUPpage up键
VK_A - -VK_ZA- -ZVK_PGDNpage down键
VK_SEMICOLON分号 “;”VK_PERIOD句点 “.”
K_UNDERSCORE下划线 “_”VK_COMMA逗号 “,”

  实际以java API的定义为准:

总结

  Matlab的界面不够美观,由于项目数据处理离不开Matlab,最终我不得不使用了WPF界面(至少可以调调Alpha通道吧)和Matlab界面结合的方法。所以就牵扯到用Matlab控制WPF界面切换,于是才想到控制鼠标和模拟键盘。是以为记。

  更多内容可以参考:GUI automation using a Robot

最后

以上就是殷勤帽子为你收集整理的Matlab探寻(一):控制鼠标和模拟键盘(java.awt.Robot)添加引用控制鼠标模拟键盘总结的全部内容,希望文章能够帮你解决Matlab探寻(一):控制鼠标和模拟键盘(java.awt.Robot)添加引用控制鼠标模拟键盘总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部