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);
            }
        });
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻找优秀的自己

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

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

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

打赏作者

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

抵扣说明:

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

余额充值