0

我正在尝试编写一个程序,当我单击鼠标左键时,它会显示 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) {}   
}
4

1 回答 1

2

您在代码中所做的是编写一个MouseListener,而不是将其添加到 GUI 组件中(因此单击鼠标时将激活它),您自己调用它。这就是为什么在您启动程序时执行它的原因。

您需要做的是addMouseListener在您的 GUI 组件之一上使用方法,并将您的侦听器注册到它。

这里有一个相当好的指南,也有例子。

于 2016-05-28T15:28:52.393 回答