Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Java)获取窗口内的鼠标坐标_Java_Position_Mouse - Fatal编程技术网

(Java)获取窗口内的鼠标坐标

(Java)获取窗口内的鼠标坐标,java,position,mouse,Java,Position,Mouse,我想问问是否有 有没有办法在我的窗口内获取我的coursor的坐标 像“e.getX()”一样使用事件,但不必使用事件 或者有什么算法,比如得到鼠标的绝对位置,减去帧的位置 已经谢谢了,很抱歉我的英语不好。从我的记忆中,我认为没有一种方法可以在没有事件的情况下获取鼠标坐标。我认为最好的办法是使用一个公共变量(mouseX,mouseY),并将它们设置为event.getX()和event.getY(),这样,鼠标X和Y就可以在整个程序中轻松使用。好了,伙计们,我现在找到了解决方案: Mouse

我想问问是否有 有没有办法在我的窗口内获取我的coursor的坐标

像“e.getX()”一样使用事件,但不必使用事件

或者有什么算法,比如得到鼠标的绝对位置,减去帧的位置


已经谢谢了,很抱歉我的英语不好。

从我的记忆中,我认为没有一种方法可以在没有事件的情况下获取鼠标坐标。我认为最好的办法是使用一个公共变量(mouseX,mouseY),并将它们设置为event.getX()和event.getY(),这样,鼠标X和Y就可以在整个程序中轻松使用。

好了,伙计们,我现在找到了解决方案:

 MouseInfo.getPointerInfo().getLocation().x - XYZ.getLocationOnScreen().x
 MouseInfo.getPointerInfo().getLocation().y - XYZ.getLocationOnScreen().y

XYZ是框架/面板/所使用的任何对象的引用

尝试在您感兴趣的组件上使用鼠标侦听器或AWTListener来监视应用程序中发生的全局事件。但是,MouseEvents与生成的组件相关it@khelwood不,这需要使用计时器或线程,并且需要您将屏幕位置转换为窗口内的相对位置。坦白地说,我们一直很懒惰,还有更简单的解决方案,因为op只想监控他们的应用程序窗口……我知道你可以使用“MouseInfo.getPointerInfo().getLocation().x”在屏幕上获取鼠标坐标,但有没有办法从窗口中获取?