这是一个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);
}
});
}
}