单击以激活笔java绘制

单击以激活笔java绘制,java,Java,所以我用java制作了一个绘画应用程序。但是,不要单击并按住然后拖动来绘制某些内容。相反,我想单击以激活我的画笔/笔,它将绘制到我将鼠标带到的任何位置,然后再次单击以禁用画笔/笔 public class DrawArea extends JComponent { private Image image; private Graphics2D g2; // Mouse coordinates private int currentX, currentY, oldX, oldY;

所以我用java制作了一个绘画应用程序。但是,不要单击并按住然后拖动来绘制某些内容。相反,我想单击以激活我的画笔/笔,它将绘制到我将鼠标带到的任何位置,然后再次单击以禁用画笔/笔

public class DrawArea extends JComponent {

private Image image;
private Graphics2D g2;

// Mouse coordinates
private int currentX, currentY, oldX, oldY;    


public DrawArea() {

addMouseListener(new MouseAdapter() {
    public void mousePressed(MouseEvent e) {
        // save coord x,y when mouse is pressed
        oldX = e.getX();
        oldY = e.getY();
    }
});

addMouseMotionListener(new MouseMotionAdapter() {
    public void mouseDragged(MouseEvent e) {
        // coord x,y when drag mouse
        currentX = e.getX();
        currentY = e.getY();

        if (g2 != null) {
        // draw oval if g2 context not null
        g2.drawOval(oldX, oldY, 20, 20);
        g2.fillOval(oldX, oldY, 20, 20);

        // refresh draw area to repaint
        repaint();
        // store current coords x,y as olds x,y
        oldX = currentX;
        oldY = currentY;
        }
    }
});

使变量在单击时激活,运行直到再次单击,将变量设置为false。我就是这么做的