如何设置鼠标点击事件?
How to set mouseClicked event?
我正在尝试编写一个程序,在我单击鼠标左键时显示 x 和 y 坐标,但它不起作用。如果我 运行 程序,控制台会自动显示 x 和 y 坐标,但我想在单击鼠标后查看坐标。
import java.awt.*;
import java.awt.event.*;
import javax.swing.SwingUtilities;
public class Simple {
public static void main(String[] args){
Mouse maus = new Mouse();
maus.mouseClicked(null);
}
}
第二个文件
import java.awt.*;
import java.awt.event.*;
public class Mouse implements MouseListener {
public void mouseClicked(MouseEvent e) {
double mouseX = MouseInfo.getPointerInfo().getLocation().getX();
double mouseY = MouseInfo.getPointerInfo().getLocation().getY();
System.out.println(mouseX+" "+mouseY);
}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0) {}
}
您在代码中所做的是编写一个 MouseListener
,但不是将其添加到 GUI 组件(因此单击鼠标时它会被激活),而是您自己调用它。这就是为什么它会在您启动程序时执行。
您需要做的是在您的 GUI 组件之一上使用 addMouseListener
方法,并向其注册您的侦听器。
有一个很好的指南here,也有例子。
我正在尝试编写一个程序,在我单击鼠标左键时显示 x 和 y 坐标,但它不起作用。如果我 运行 程序,控制台会自动显示 x 和 y 坐标,但我想在单击鼠标后查看坐标。
import java.awt.*;
import java.awt.event.*;
import javax.swing.SwingUtilities;
public class Simple {
public static void main(String[] args){
Mouse maus = new Mouse();
maus.mouseClicked(null);
}
}
第二个文件
import java.awt.*;
import java.awt.event.*;
public class Mouse implements MouseListener {
public void mouseClicked(MouseEvent e) {
double mouseX = MouseInfo.getPointerInfo().getLocation().getX();
double mouseY = MouseInfo.getPointerInfo().getLocation().getY();
System.out.println(mouseX+" "+mouseY);
}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0) {}
}
您在代码中所做的是编写一个 MouseListener
,但不是将其添加到 GUI 组件(因此单击鼠标时它会被激活),而是您自己调用它。这就是为什么它会在您启动程序时执行。
您需要做的是在您的 GUI 组件之一上使用 addMouseListener
方法,并向其注册您的侦听器。
有一个很好的指南here,也有例子。