用java编写一个Applet响应鼠标事件,要求用户可以通过拖动鼠标在Applet中画出矩形,并在状态条中显示鼠标当前的位置。
时间: 2024-02-12 09:09:51 浏览: 85
//鼠标拖拽事件处理-JAVA apple应用实例
下面是一个用Java编写的Applet,可以响应鼠标事件,允许用户通过拖动鼠标在Applet中画出矩形,并在状态条中显示鼠标当前的位置:
```java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class DrawRectangle extends Applet implements MouseListener, MouseMotionListener {
int startX, startY, endX, endY;
String statusText = "";
public void init() {
addMouseListener(this);
addMouseMotionListener(this);
}
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);
}
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 mouseDragged(MouseEvent e) {
endX = e.getX();
endY = e.getY();
repaint();
}
public void mouseMoved(MouseEvent e) {
statusText = "Mouse position: (" + e.getX() + ", " + e.getY() + ")";
showStatus(statusText);
}
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
}
```
在这个Applet中,我们使用了MouseListener和MouseMotionListener接口来响应鼠标事件。当用户按下鼠标时,我们记录下起始位置;当用户拖动鼠标时,我们实时更新结束位置并重新绘制矩形;当用户释放鼠标时,我们绘制最终的矩形。
同时,我们还实现了MouseMotionListener接口中的方法来显示鼠标当前的位置。我们在状态条中显示一个文本,包含了当前鼠标的x坐标和y坐标。
这个Applet可以在任何支持Java的浏览器中运行。
阅读全文