注册 登录
编程论坛 JAVA论坛

新手求助! 如何利用鼠标动作事件在画布上画出鼠标的轨迹图

YeSyinnng 发布于 2017-06-06 15:59, 1028 次点击
如何利用鼠标动作事件在画布上画出鼠标的轨迹图啊?我只能实现画直线,是利用鼠标动作事件里面的mouseMoved么?
 我目前只能画直线,画轨迹如何求坐标呀?
 双击清空画布如何实现?帮帮忙!大佬们!
1 回复
#2
calix2017-06-06 20:54
public class SwingPaintTest extends JFrame {

    private SwingPaintTest() {
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.addMouseMotionListener(new MouseAdapter() {
            @Override
            public void mouseMoved(MouseEvent e) {
                super.mouseMoved(e);
                paintPoint(e.getX(), e.getY());
            }
        });
    }

    public static void main(String args[]) {
        SwingPaintTest paintTest = new SwingPaintTest();
        paintTest.setSize(500, 500);
        paintTest.setLocationRelativeTo(null);
        paintTest.setVisible(true);
    }

    private void paintPoint(int x, int y) {
        this.repaint(x, y, 1, 1);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        Rectangle rectangle = g.getClipBounds();
        int i  = (int)rectangle.getX();
        int j = (int)rectangle.getY();
        g.setColor(Color.black);
        g.fillOval(i, j, 1, 1);
    }

}
1