如何设置mouseClicked事件?

时间:2016-05-28 15:22:14

标签: java mouselistener onmouseclick mousemotionlistener

我试图编写一个程序,当我点击鼠标左键时显示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) {}   
}

1 个答案:

答案 0 :(得分:2)

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

您需要做的是在您的某个GUI组件上使用addMouseListener方法,并向其注册您的监听器。

有一个相当不错的指南here,也有例子。

相关问题