addMouseMotionListener()用法
时间: 2023-07-18 16:30:46 浏览: 143
`addMouseMotionListener()`是Java中的一个方法,用于向组件添加鼠标移动监听器。当鼠标在组件内移动时,该监听器将会接收到鼠标移动事件并执行相应的操作。
以下是一些`addMouseMotionListener()`的使用示例:
1. 创建一个带有鼠标移动监听器的窗口:
```java
import java.awt.*;
import java.awt.event.*;
public class MyWindow extends Frame {
public MyWindow() {
setSize(300, 300);
setTitle("My Window");
addMouseMotionListener(new MyMouseMotionListener());
}
private class MyMouseMotionListener implements MouseMotionListener {
public void mouseMoved(MouseEvent e) {
System.out.println("Mouse Moved: x=" + e.getX() + ", y=" + e.getY());
}
public void mouseDragged(MouseEvent e) {}
}
public static void main(String[] args) {
MyWindow window = new MyWindow();
window.setVisible(true);
}
}
```
在此示例中,我们创建了一个窗口,并将一个实现了`MouseMotionListener`接口的内部类`MyMouseMotionListener`添加为鼠标移动监听器。当鼠标在窗口内移动时,`MyMouseMotionListener`中的`mouseMoved()`方法将会被调用并打印出鼠标坐标。
2. 在组件中绘制鼠标轨迹:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyPanel extends JPanel {
private int x, y;
public MyPanel() {
addMouseMotionListener(new MyMouseMotionListener());
}
private class MyMouseMotionListener implements MouseMotionListener {
public void mouseMoved(MouseEvent e) {
x = e.getX();
y = e.getY();
repaint();
}
public void mouseDragged(MouseEvent e) {}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawOval(x, y, 10, 10);
}
public static void main(String[] args) {
JFrame frame = new JFrame("My Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
MyPanel panel = new MyPanel();
frame.add(panel);
frame.setVisible(true);
}
}
```
在此示例中,我们创建了一个面板,并将一个实现了`MouseMotionListener`接口的内部类`MyMouseMotionListener`添加为鼠标移动监听器。当鼠标在面板内移动时,`MyMouseMotionListener`中的`mouseMoved()`方法将会被调用并记录鼠标坐标。然后,我们在`paintComponent()`方法中绘制一个小圆圈来表示鼠标位置。
这些示例只是`addMouseMotionListener()`方法的一些使用方法,你可以根据自己的需求来实现更多的操作。
阅读全文