【发布时间】:2015-05-26 04:55:17
【问题描述】:
我正在尝试制作一个绘图程序,该程序将使用 MouseMotionListener 中的 mouseDragged() 方法在画布上绘制圆圈。在我的 init() 方法中,我输入了 this.addMouseMotionListener(this) 并收到了以下错误消息:
找不到符号 - 方法 addMouseMotionListener(Canvas)。
我试图让它每次拖动鼠标时,画笔(只是一个圆圈)都会绘制到上面有画布的绘图板上
这是绘图板的代码:
import java.awt.*;
import java.awt.geom.*;
import java.awt.PointerInfo;
import java.awt.MouseInfo;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;
public class DrawingBoard implements MouseMotionListener
{
private Canvas myCanvas;
private Brush myBrush;
private PointerInfo a = MouseInfo.getPointerInfo();
private Point p = a.getLocation();
private int x = (int)p.getX();
private int y = (int)p.getY();
private Brush b1 = new Brush(x, y, 10, Color.red, myCanvas);
// instance variables - replace the example below with your own
public void init() {
this.addMotionListener(this);
}
public DrawingBoard(int canvasSizeX, int canvasSizeY)
{
myCanvas = new Canvas("Drawing Board", canvasSizeX, canvasSizeY);
myCanvas.setVisible(true);
myCanvas.setForegroundColor(Color.lightGray);
}
public void mouseMoved(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
b1.draw();
}
Canvas 的代码可以在这里找到: http://pastebin.com/RzMpkKhy
【问题讨论】:
标签: java mouseevent paint mouselistener