Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 - Fatal编程技术网

Java 鼠标侦听器问题

Java 鼠标侦听器问题,java,Java,我正在用Java开发一个屏幕捕获实用程序&我想在单击某个特定窗口时捕获任何背景窗口。但我不知道如何将mouseClicked事件添加到后台窗口。有人能帮我吗?我可能有点不对劲,但如果另一个窗口不是Java窗口,那么它应该在Java沙箱之外。要与它交互,需要一个本机API,这是Java所不喜欢的。如果该窗口不是应用程序的一部分,您就不能用它做很多事情 否则,您只需将鼠标侦听器添加到该窗口即可 您的情况如何?很明显,您无法与其他应用程序窗口交互。我想在你的情况下,它可以是任何随机窗口。因此,您的mo

我正在用Java开发一个屏幕捕获实用程序&我想在单击某个特定窗口时捕获任何背景窗口。但我不知道如何将
mouseClicked
事件添加到后台窗口。有人能帮我吗?

我可能有点不对劲,但如果另一个窗口不是Java窗口,那么它应该在Java沙箱之外。要与它交互,需要一个本机API,这是Java所不喜欢的。

如果该窗口不是应用程序的一部分,您就不能用它做很多事情

否则,您只需将鼠标侦听器添加到该窗口即可


您的情况如何?

很明显,您无法与其他应用程序窗口交互。我想在你的情况下,它可以是任何随机窗口。因此,您的mouselistener方法是不正确的


相反,试着像获取屏幕上显示的像素信息一样处理它。有一个awt包java.awt.Robot或其他可以用于您的目的的东西。如果您想实现活动窗口的捕获,请查看是否有java API与O.S.交互,并获取当前活动窗口的信息及其像素坐标。坐标随后可以提供给矩形属性,该属性与java.awt.Robot API一起使用以定义屏幕捕获区域。

java.awt.Robot有一个方法createScreenCapture(矩形screenRect)来捕获屏幕截图。


但是,要获得当前活动窗口,您必须使用特定于操作系统的扩展(主要通过JNI)

后台窗口是用Java编写的吗?它是否在同一个VM中运行?