用matlab在全屏幕java图像上获取鼠标位置

时间:2016-02-19 11:35:06

标签: java swing matlab mouseevent fullscreen

似乎没有一种方法可以在Win8 64上使用Matlab显示全屏图像。所以我在某个地方找到了一个使用java类的解决方案,即javax.swing.JFrame。我不知道java和更多我不能在java全屏图像上使用Matlab命令。我的目标是在该图像上获得鼠标光标位置。这是我的代码:

import java.awt.event.MouseEvent.*; %I tried also java.awt.event.* without results
import java.awt.Robot; %It doesn't seems to be useful

img=imread("my_image.tif");
jimg = im2java(img);
frame = javax.swing.JFrame;

mouse=java.awt.event.MouseEvent;  %here it doesn't work, the same if mouse=java.awt.event; 

frame.setUndecorated(true);
icon = javax.swing.ImageIcon(jimg);
label = javax.swing.JLabel(icon);
frame.getContentPane.add(label);
frame.pack;
screenSize = get(0,'ScreenSize'); 
frame.setSize(screenSize(3),screenSize(4));
frame.setLocation(0,0);
frame.show;

%what I need to make run but with the above definition it doesn't work
if mouse.getButton()
   [x,y]=mouse.getPoint();
end

我试图愚蠢地 ginput ,但它创造了另一个人物。此代码正确显示全屏图像,但有关我点击的位置的事件,没有。 Matlab返回有关 mouse = java.awt.event.MouseEvent; 定义的错误。它报告:未定义的变量" java"或者类" java.awt.event"。 问题是导入的java类,也许我是如何使用它们的。我怎么解决?我找到了所有地方,但我没有找到任何实际的解决方案。你可以建议任何其他解决方案,也不使用java?

1 个答案:

答案 0 :(得分:0)

我只需要使用命令:

[A]=get(0,'PointerLocation')

在矩阵A中我得到指针位置在屏幕上的任何位置,也在java帧图像上。