Problem mit Mausevents (Drag & Drop)
Von: , Frage gestellt am So, 5. Sep 2004
hab mal wieder ein Problem ich komme um diese Uhrzeit einfach nicht weiter, vielleicht habt ihr ne Idee.
Ich zeichne einen Punkt, und wenn ich auf diesen Punkt klicke kann ich ihn per Drag und Drop verschieben.
public void mouseDragged(MouseEvent me) {
zeiger.set(me.getX(),me.getY());
for (int j = 0; j < menge; j++)
if(zeiger.istInKreis(graph[j],5))
graph[j]=zeiger;
repaint();
}
So sieht meine Funktion aus.
zeiger ist ein Punkt(x,y)
Die Funktion istInKreis überprüft ob der Punkt zeiger im Radius von 5 Pixeln um den Punkt(x,y) im Array graph[]
ist.
Wenn ja, soll die Zeigerposition im Array gespeichert werden.
Denn in meiner Paint Methode wird das Array graph[] gezeichnet.
Mein Problem ist nun, daß wenn ich einmal einen Punkt verschoben habe, und dann irgendwo hinklicke wo kein Punkt ist und ich dort mit der Maus "dragge" dann erscheint der zuletzt verschobene Punkt an dieser Stelle, wenn ich auf einen anderen Punkt klicke wird dieser überschrieben und ich habe 2x den selben Punkt im Array.
Ich habe bereits mit mehreren Punkten versucht, also einmal den Punkt beim Drücken der Maustaste und einen anderen Punkt beim draggen, aber auch das brachte keine Abhilfe.
Ich hoffe ich konnte das Problem anschaulich genug darstellen ;-)
Gruß Wizard of War
