eclipse怎么使用Canvas实现画图跟踪?
时间: 2024-03-12 11:48:43 浏览: 88
canvas 画图板.zip
在Eclipse中使用Canvas来实现画图跟踪,你需要继承`Canvas`类,并重写`paint()`方法来绘制图形。以下是一个简单的示例代码:
```
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
public class DrawAndTrack extends Canvas {
private List<Point> points = new ArrayList<Point>();
public DrawAndTrack() {
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
points.add(e.getPoint());
repaint();
}
});
}
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.RED);
for (int i = 0; i < points.size(); i++) {
Point p = points.get(i);
g.fillOval(p.x, p.y, 5, 5);
if (i > 0) {
Point p2 = points.get(i - 1);
g.drawLine(p.x, p.y, p2.x, p2.y);
}
}
}
public static void main(String[] args) {
JFrame frame = new JFrame("Draw and Track");
DrawAndTrack canvas = new DrawAndTrack();
canvas.setSize(400, 400);
frame.add(canvas);
frame.pack();
frame.setVisible(true);
}
}
```
在这个例子中,我们在`DrawAndTrack`类的构造函数中添加了一个鼠标监听器,用于捕获鼠标点击事件,并将每个点坐标添加到`points`列表中。在`paint()`方法中,我们使用`Graphics`类来绘制每个点和它们之间的线条。最后,我们在`main()`方法中创建了一个`DrawAndTrack`对象,并将其添加到`JFrame`中显示。
你可以尝试修改颜色、线宽、绘制形状等参数,来实现不同的画图效果。
阅读全文