zeichenprogramm streikt ;(

Status
Nicht offen für weitere Antworten.
G

gastdenis

Gast
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:

Code:
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]
 
G

Guest

Gast
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

Top Contributor
Verwende Vector<Vector<Point>> und übermal in paint zuerst mit der Hintergrundfarbe, damit es Java6-kompatibel ist.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben