# Maus springt --> Free-Hand-Zeichnen



## Guest (22. Apr 2008)

Hallo!

Ich möchte FreiHand-Zeichnen, also wie in Paint, Farbe auswählen und einfach mit der Maus kreuz und quer malen.

Problem: Sobald die Maus schnell bewegt wird, entstehen Lücken.

Kann mir bitte jemand helfen!


```
import java.awt.Image;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;

import javax.swing.*;

public class W extends JFrame implements MouseMotionListener{

	int x1, y1;
	
	Image image;
	
	public W(){
		this.setSize(1200, 800);
		this.addMouseMotionListener(this);
		this.setVisible(true);
		image = new BufferedImage(1200,800,BufferedImage.TYPE_INT_ARGB);
		
	}
	
	public void update(java.awt.Graphics g){
		java.awt.Graphics2D gg = (java.awt.Graphics2D)image.getGraphics();
		java.awt.geom.Ellipse2D s = new java.awt.geom.Ellipse2D.Double(x1,y1,20,20);
		gg.setColor(java.awt.Color.BLUE);		
		gg.draw(s);
		gg.fill(s);
		g.drawImage(image, 0, 0, this);		
	}		
	
	public void mouseDragged(MouseEvent arg0) {}

	public void mouseMoved(MouseEvent arg0) {
		x1 = arg0.getX();
		y1 = arg0.getY();
		repaint();
	}
	
	public static void main(String[] args) {
		new W();
	}	
}
```


----------



## Beni (22. Apr 2008)

Zeichne keine einzelnen Punkte, sondern Linien zwischen zwei nacheinander gemessenen Mauspositionen. Gegen das Springen selbst kannst du nichts machen.


----------



## Lulumann6 (22. Apr 2008)

und wenn du jedesmal wenn mousemoved() ausgeführt wird, repaint aufrufst wirst du die cpu auslastung schnell auf 100% haben und es wird nur noch flakern.


----------

