检测鼠标使用Java单击屏幕上的任意位置

是否可以在我的应用程序之外的屏幕上的任何位置检测鼠标?

我已经编写了一个在C#中执行此操作的应用程序,但是想在Java中编写一个这样的版本,以便它可以在多个平台上运行。

看起来我可以随时使用java.awt.MouseInfo.getPointerInfo()来获取鼠标的坐标,但我不确定如何监听鼠标点击。

在C#中,我使用GetAsyncKeyState来检测是否单击了鼠标按钮,但显然我不能使用它,如果我希望保持这种“干净”以便在多个平台中使用。

您只能通过特定于平台的OS API实现来执行此操作,因为您无法在程序本身中检测程序外部的点击。

虽然您不会编写特定于平台的代码,但只需将其抽象为接口并适当地使用不同的实现。