使用 MouseAdapter 在移动光标时获取光标位置

Get the cursor position while moving it using MouseAdapter

为什么我不能使用MouseAdapter 的mouseMoved() 来获取光标位置?我想在移动鼠标时获取它并在终端中显示它。

我该怎么做?

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;

public class FrameTest extends JFrame {
    public FrameTest() {
        addMouseListener(new MouseMovementListener());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocation(200, 100);
        setSize(400, 400);
        setVisible(true);
    }

    class MouseMovementListener extends MouseAdapter {
        public void mouseMoved(MouseEvent evt) {
            System.out.println("(" + evt.getX() + ", " + evt.getY() + ")");
        }
    }

    public static void main(String[] args) {
        new FrameTest();    
    }
}

很简单。您需要更改此行:

addMouseListener(new MouseMovementListener());

addMouseMotionListener(new MouseMovementListener());