java getwindow_如何在Java中获取窗口外部的鼠标单击坐标

这篇博客介绍了如何在Java中监听并获取窗口外部的鼠标单击坐标,通过添加AWTEventListener来捕获焦点事件和鼠标事件,从而实现即使失去焦点也能获取到鼠标的位置信息。
摘要由CSDN通过智能技术生成

457a9518c6daac533584769fd79b5c54.png

偶然的你

尽管可能,但可能会受到限制:为焦点事件添加一个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, ...第二点是在应用程序之外。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值