java 获取鼠标绝对坐标_如何在Java窗口之外获取鼠标点击坐标

尽管有限:

为焦点事件添加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
    评论
很高兴回答你的问题。您可以使用Java提供的MouseListener接口来设置鼠标监听器,并使用该监听器的mouseMoved()方法来获取鼠标位置坐标。以下是示例代码: ```java import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class MouseListenerExample extends JFrame implements MouseListener { JLabel label; public MouseListenerExample() { setTitle("MouseListener Example"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 创建一个标签,并添加到窗口 label = new JLabel(); add(label); // 添加鼠标监听器 addMouseListener(this); } // 鼠标移动时调用 @Override public void mouseMoved(MouseEvent e) { int x = e.getX(); int y = e.getY(); System.out.println("x: " + x + ", y: " + y); } // 其他鼠标事件的方法都不需要实现,可以不写 public static void main(String[] args) { MouseListenerExample example = new MouseListenerExample(); example.setVisible(true); // 添加一张图片到标签 ImageIcon icon = new ImageIcon("image.jpg"); example.label.setIcon(icon); } } ``` 上面的代码,我们创建了一个窗口,并添加了一个标签。然后通过addMouseListener()方法添加鼠标监听器。在鼠标移动时,会自动调用实现的mouseMoved()方法,获取鼠标位置坐标,并在控制台输出。最后,我们还添加了一张图片到标签,可以根据自己的需要更改图片路径。 希望这个例子能够帮助到您!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值