偶然的你
尽管可能,但可能会受到限制:为焦点事件添加一个AWTEventListener。只要您的应用在单击按钮之前就具有焦点,就会收到焦点丢失事件。然后查询指针位置。限制是,当然,您的应用程序失去了焦点。因此,根据最终要实现的目标,这可能没有用。如果您不想失去焦点,则必须暂时截取整个屏幕的屏幕截图,并将其显示在屏幕填充窗口中,该窗口像往常一样侦听鼠标单击。第一种方法的证明:import java.awt.AWTEvent;import java.awt.MouseInfo;import java.awt.Toolkit;import java.awt.event.AWTEventListener;import javax.swing.JFrame;public class Application1 { public static void main(String[] args) { Toolkit.getDefaultToolkit().addAWTEventListener( new Listener(), AWTEvent.MOUSE_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } private static class Listener implements AWTEventListener { public void eventDispatched(AWTEvent event) { System.out.print(MouseInfo.getPointerInfo().getLocation() + " | "); System.out.println(event); } }}在产生的应用之外点击:java.awt.Point[x=198,y=59] | java.awt.event.MouseEvent[MOUSE_EXITED, ...java.awt.Point[x=976,y=503] | java.awt.FocusEvent[FOCUS_LOST, ...第二点是在应用程序之外。