鼠标监听器问题

时间:2009-02-21 07:09:45

标签: java

我正在使用Java开发一个屏幕捕获实用程序。当我点击那个特定的窗口时,我想要捕获任何背景窗口。但我没有得到如何将mouseClicked事件添加到后台窗口。有人可以帮帮我吗?

4 个答案:

答案 0 :(得分:1)

我可能偏离基础,但如果另一个窗口不是Java窗口,那么它应该在Java沙箱之外。要与它进行交互需要一个本身的API,这是Java的诅咒。

答案 1 :(得分:1)

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

相反,尝试像获取屏幕上显示的像素信息一样接近它。有一个awt包java.awt.Robot或者可以用于你的目的。如果要实现活动窗口的捕获,请查看是否存在与O.S.交互的Java API。并获取当前活动窗口及其像素坐标的信息。然后可以将坐标提供给与java.awt.Robot API一起使用的矩形属性,以定义屏幕捕获区域。

答案 2 :(得分:0)

如果该窗口不是您的应用程序的一部分,则无法使用它。

否则你只需要将鼠标监听器添加到该窗口。

你的情况如何?

答案 3 :(得分:0)

java.awt.Robot有一个方法createScreenCapture(Rectangle screenRect)来捕获截图。 http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Robot.html

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