Вот программа, которая демонстрирует, чего вы пытаетесь достичь.
Эта программа не идеальна, но вам следует начать с того, что вы пытаетесь построить.
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
public class PaintBrush {
JFrame f;
Canvas c;
int x=-1, y=-1;
public PaintBrush() {
f = new JFrame();
f.setSize(600, 400);
c = new Canvas() {
public void paint(Graphics g) {
// super.paint(g);
}
};
f.getContentPane().add(c);
c.addMouseMotionListener(new MouseMotionListener() {
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDragged(MouseEvent e) {
if(x==-1){
x = e.getX();
y = e.getY();
}
int diffx = Math.abs(x - e.getX());
int diffy = Math.abs(y - e.getY());
System.out.println("diffx:"+diffx+"\t"+"diffy:"+diffy);
int speed = (int) Math.sqrt((diffx + diffy));
if(speed>1){
c.getGraphics().fillOval(x, y, 20-speed*2, 20-speed*2);
}else {
c.getGraphics().fillOval(x, y, 20, 20);
}
System.out.print("Speed:"+speed + "\t");
System.out.println("x:"+e.getX());
x = e.getX();
y = e.getY();
}
});
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public static void main(String[] args) {
new PaintBrush();
}