鼠标画线java_在画布上用鼠标画线:Java awt
时间: 2024-03-07 13:49:15 浏览: 132
好的,让我来回答你的问题。在 Java AWT 中,可以使用鼠标在画布上画线,具体实现方法如下:
1.创建一个继承自 Frame 的类,并在其中创建一个 Panel 对象,用于作为画布。
```
import java.awt.*;
import java.awt.event.*;
public class LineDrawer extends Frame {
private Panel panel = new Panel();
private int x1, y1, x2, y2;
public LineDrawer() {
add(panel);
panel.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
x1 = e.getX();
y1 = e.getY();
}
});
panel.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
Graphics g = panel.getGraphics();
g.drawLine(x1, y1, x2, y2);
x1 = x2;
y1 = y2;
}
});
}
public static void main(String[] args) {
LineDrawer drawer = new LineDrawer();
drawer.setSize(400, 400);
drawer.setVisible(true);
}
}
```
2.在 Panel 上添加 MouseListener 和 MouseMotionListener 监听器,用于监听鼠标的事件。
3.在 mousePressed 方法中,记录下鼠标按下的坐标。
4.在 mouseDragged 方法中,记录下鼠标拖拽的坐标,然后使用 getGraphics 方法获取画布的 Graphics 对象,并调用 drawLine 方法画线。最后更新 x1 和 y1 的值,以便下一次画线时能够连续画出来。
这样,当你在 Panel 上按下鼠标并拖拽时,就可以画出一条直线了。希望能对你有所帮助!
阅读全文