前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MATLAB调用Java操作键盘鼠标

MATLAB调用Java操作键盘鼠标

作者头像
万木逢春
发布2019-04-30 18:11:26
2K0
发布2019-04-30 18:11:26
举报
文章被收录于专栏:帮你学MatLab

MATLAB在plot之后得到图像figure窗体的句柄,可以操作figure修改尺寸以及各种参数。

在Windows系统中想要操作MATLAB之外的各种窗体就需要win32编程,如果使用mex技术将c/c++文件在MATLAB中编译就需要按照mex规范编写c/c++文件,而借助Java可以直接m文件中新建Java对象完成各种操作。

这里使用的Java对win32的对接实现是JNA,2018b版本的MATLAB在安装成功后自带了所需要的jar包,不像连接MySQL数据库那样还需要自己下载并添加Java支持包。

首先是移动鼠标位置

function setMouse(x,y)

%x为到屏幕左边距离

%y为到屏幕顶部距离

import java.awt.Robot;

mouse = Robot;

mouse.mouseMove(x,y);

end

接着是鼠标点击

左键单击

function leftClick

import java.awt.Robot;

import java.awt.event.*;

mouse = Robot;

mouse.mousePress(InputEvent.BUTTON1_MASK);

mouse.mouseRelease(InputEvent.BUTTON1_MASK);

%InputEvent.BUTTON1_MASK是Java中定义的常数

%就在java.awt.event.*的*里面

end

右键单击

function rightClick

import java.awt.Robot;

import java.awt.event.*;

mouse = Robot;

mouse.mousePress(InputEvent.BUTTON3_MASK);

mouse.mouseRelease(InputEvent.BUTTON3_MASK);

end

左右键就是那个*里面的常数不一样

最后就是键盘操作了

function key(index)

import java.awt.Robot;

robot = Robot;

robot.keyPress(index);

robot.keyRelease(index);

end

本来也可以用那个*里面的常数的,但是按键太多,每一个键写一个函数不合适、在函数内部加判断条件更不合适,所以直接输入按键对应的键码值,使用时只要查一下键码值就可以

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帮你学MatLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档