我试图编写一个程序,当我点击鼠标左键时显示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) {}
}
答案 0 :(得分:2)
您在代码中所做的是编写MouseListener
,但不是将其添加到GUI组件(因此在单击鼠标时将激活它),您可以自己调用它。这就是你启动程序时执行它的原因。
您需要做的是在您的某个GUI组件上使用addMouseListener
方法,并向其注册您的监听器。
有一个相当不错的指南here,也有例子。