# zeichenprogramm  streikt ;(



## gastdenis (1. Mrz 2007)

hi leute,
ich habe angefangen ein Zeichenprogramm zu schreiben, ich habe eineige probleme gehabt
erst habe ich nur punkte gemalt bekommen, keine linien, dann hab ich linien gemalt bekommen und diese wurden, auch wenn man vorher die maus losgelassen hat und wo anders ansetzen wollte den punkt, an dem man losgelassen hat und den punkt, an dem man wieder angefangen hat mit einer linie verbunden.
dann habe ich beide methoden verbunden und schöne liniengemalt bekommne, da ich zwischen den punkten linien gemalt habe.
 jedoch ist hierbei das selbe problem entstanden, verbindungslinien zwischen loslassen und wiederanfangen, jetzt weis ich nciht mehr wie ich weiterkomme, bitte um hilfe, hier der quellcode:


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class projekt1 extends JFrame 
{

  Vector<Point> Points = new Vector(1, 1);

  int[] line = { 0, 0 };
 
  public projekt1 (String Title) 
  {
    super (Title);
    addWindowListener(new WindowAdapter() 
    					{
    						public void windowClosing (WindowEvent evt) 
    						{
    							System.exit(0);
    						}
    					}
    				  );
    
    addMouseMotionListener(new MouseMotionAdapter() 
    						{
    							public void mouseDragged (MouseEvent evt) 
    							{
    								Points.add(new Point(evt.getX(), evt.getY())); repaint();
    							}							
    						}
    					  );
    setSize(800, 600);
    getContentPane().setLayout(new BorderLayout());
  }

  public static void main (String args[]) 
  {
    new projekt1("Malprogramm").setVisible(true);
  }

  public void paint (Graphics g) 
  { 
    for(int i = 1; i < Points.size(); i++) 
    {
    	g.drawRect(Points.get(i).x, Points.get(i).y, 0, 0);
    	line[1]=Points.get(i).x;
    	
    	if(Points.get(i).x != 0 || Points.get(i).y != 0)
    	{
    	 g.drawLine(Points.get(i-1).x, Points.get(i-1).y, Points.get(i).x, Points.get(i).y); 		
    	}
     }
  }
}
```




wäre echt hilfreich wenn ihm mir tipps geben könntet.

mein vorhaben ist,das man einzelne objekte malen kann, ohne das sie mit linien verbunden werden.

MfG Denis

_[Edit by Beni: Codetags]_


----------



## WieselAc (1. Mrz 2007)

Wie willst du denn rausfinden, das ein Objekt fertig ist?


----------



## Guest (3. Mrz 2007)

hmm, dass weis ich leider nicht, obwohl ich schon viel gesucht habe, bei applets kann man ja mit mousereleased was zu stande bringen, aber bei aplicationen gibt es ja nur mouseDragged und mouseMoved...
ich habe schon so viel durchprobiert, aber es hat leider kein einziger ansatz geklappt.
also wenn einer von euch klugen java usern weis, wo ich ansetzen könnte, wäre das seeehrseeehrseeehr hilfreich
danke schonmal im vorraus
lg


----------



## merlin2 (27. Apr 2007)

Verwende _Vector<Vector<Point>>_ und übermal in _paint_ zuerst mit der Hintergrundfarbe, damit es Java6-kompatibel ist.


----------



## kleiner_held (27. Apr 2007)

Anonymous hat gesagt.:
			
		

> aber bei aplicationen gibt es ja nur mouseDragged und mouseMoved...


Schau Dir mal den MouseListener an.


----------



## André Uhres (28. Apr 2007)

Hier findest du ein funktionierendes Beispiel:

DrawOnImage: http://forum.java.sun.com/thread.jspa?forumID=57&threadID=607073


----------

