Java Swing 获取鼠标点击的坐标

这是一个Java程序,主要实现了一个简单的GUI窗口,并在其上添加了鼠标点击事件的监听。当鼠标点击窗口时,程序将打印出点击的坐标。下面是各个方法的详细说明:

  • MouseClickExample:这是主要的类,继承自JFrame,实现了MouseListener接口来处理鼠标事件。

  • MouseClickExample():这是构造函数。在创建MouseClickExample对象时会被调用。这个方法主要完成了以下几个操作:

    • 添加了一个鼠标监听器到自身(this)。
    • 设置窗口的大小为300x300。
    • 设置窗口关闭时的默认操作为退出程序。
    • 设置窗口的位置居中。
  • mouseClicked(MouseEvent e):这是一个鼠标点击事件的处理方法。当在窗口上点击鼠标时,这个方法将会被调用。它获取鼠标点击的坐标,并将其打印到控制台。

  • mousePressed(MouseEvent e):这是一个鼠标按下事件的处理方法。当在窗口上按下鼠标时,这个方法将会被调用,并打印出"mousePressed"。

  • mouseReleased(MouseEvent e)mouseEntered(MouseEvent e)mouseExited(MouseEvent e):这三个方法分别是处理鼠标释放、鼠标进入、鼠标离开事件的处理器。在这段代码中,它们并没有具体的实现,所以当对应的事件发生时,不会有任何反应。

  • main(String[] args):这是程序的入口方法。这个方法创建了一个MouseClickExample对象,并调用其setVisible(true)方法来显示窗口。这个操作是在事件调度线程中进行的,以保证GUI操作的线程安全性。

package com.xzm.test;
import javax.swing.*;
import java.awt.event.*;


/**
 * @Author XueZhimin
 * @PROJECT_NAME: Java_Lab001
 * @Description TODO gui 获取鼠标点击的坐标
 * @Date 2023/10/15 18:46
 * @Version 1.0
 */
public class MouseClickExample extends JFrame implements MouseListener {
    public MouseClickExample() {
        addMouseListener(this);
        setSize(300, 300);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }

    public void mouseClicked(MouseEvent e) {
        int x = e.getX();
        int y = e.getY();
        System.out.println("Mouse clicked at (" + x + ", " + y + ")");
    }

    @Override
    public void mousePressed(MouseEvent e) {
        System.out.println("mousePressed");
    }

    @Override
    public void mouseReleased(MouseEvent e) {

    }

    @Override
    public void mouseEntered(MouseEvent e) {

    }

    @Override
    public void mouseExited(MouseEvent e) {

    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new MouseClickExample().setVisible(true);
            }
        });
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 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
发出的红包

打赏作者

寻找优秀的自己

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值