使用 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());
为什么我不能使用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());