java applet鼠标点击事件_如何使用鼠标拖动事件在Java Applet上绘制矩形
时间: 2023-12-14 17:03:49 浏览: 84
java GUI awt 实现鼠标绘制矩形,鼠标拖动矩形,鼠标改变矩形大小功能
3星 · 编辑精心推荐
要在Java Applet上实现鼠标拖动事件并绘制矩形,可以按照以下步骤进行:
1.在Applet类中声明变量,用于保存矩形的位置和大小。例如:
```
int startX, startY, endX, endY;
```
2.覆盖Applet类的init()方法,添加MouseListener和MouseMotionListener监听器以处理鼠标事件。例如:
```
public void init() {
addMouseListener(this);
addMouseMotionListener(this);
}
```
3.实现MouseListener接口中的方法,包括mousePressed()、mouseReleased()和mouseClicked()。当鼠标按下或释放时,记录矩形的起始和结束位置。例如:
```
public void mousePressed(MouseEvent e) {
startX = e.getX();
startY = e.getY();
}
public void mouseReleased(MouseEvent e) {
endX = e.getX();
endY = e.getY();
repaint();
}
public void mouseClicked(MouseEvent e) {}
```
4.实现MouseMotionListener接口中的方法,包括mouseDragged()和mouseMoved()。当鼠标拖动时,实时更新矩形的结束位置,并重新绘制矩形。例如:
```
public void mouseDragged(MouseEvent e) {
endX = e.getX();
endY = e.getY();
repaint();
}
public void mouseMoved(MouseEvent e) {}
```
5.实现Applet类的paint()方法,绘制矩形。例如:
```
public void paint(Graphics g) {
int width = Math.abs(endX - startX);
int height = Math.abs(endY - startY);
int x = Math.min(startX, endX);
int y = Math.min(startY, endY);
g.drawRect(x, y, width, height);
}
```
这样,当用户在Applet上拖动鼠标时,就可以实时绘制一个矩形了。
阅读全文