Java: Ständiges Repaint beim Drücken eines Button

Hallo,
ich entschuldige mich erstmal für den Titel der ist ein bisschen unklar. Also ich möchte ein Java Applet schreiben, welches mithilfe der Monte Carlo Simulation Pi berechnet. Soweit so gut, ist für die Frage völlig irrelevant.

Mein Problem ist jetzt, dass ich ein Button implementieren möchte und bei Knopfdruck auf den Button sollen 500 verschiedene Punkte eingezeichnet werden. Diese Punkte sollen auch erhalten bleiben. Wie realisiere ich das jetzt, dass ich nicht jedesmal alle Punkte neuzeichnen (repaint()) muss?

Vielen Dank
david

Hallo,

versteh ich das richtig, dass Du die Punkte erhalten willst und bei erneutem Druck auf den Button neue Punkte zeichnen willst?
Du hast also eine Methode, mit der Punkte generiert werden?
Dann solltest Du Dir die Punkte in irgendeiner Form merken und beim nächsten aufruf Deiner Methode zum Erzeugen der Punkte, überprüfst Du, ob es den entsprechenden Punkt gibt.

Das ist jetzt alles sehr abstrakt, aber wenn Du es genauer brauchst, musst Du ein Code-Beispiel liefern.

Gruß, Stephan

Hier das ist mein Quelltext. Ich hoffe man sieht einigermaßen durch. Wenn nicht beantworte ich gerne alle Fragen dazu.

import java.awt.\*;
import java.applet.Applet;
import java.awt.event.\*;

public class Pi extends Applet implements ActionListener{
 int innerhalb; // Variabel, die zählt wieviele Treffer innerhalb des Kreises sind
 int auserhalb; // Treffer außerhalb
 int hilf=1; // Anzahl der Würfe | dient als Index in den Speicherarrays x[] y[]
 int dimension = 100000; // Anzahl der möglichen Punkte
 int x[] = new int[dimension]; int y[] = new int[dimension];

 public Button s1,s2,s3;
 public void paint(Graphics g){
 //
 g.drawRect(0, 0, getWidth() - 1, getHeight() - 1); // zeichnet ein Rahmen um das Applet
 g.drawOval(0, 0, 400, 400); // Der Kreis
 g.drawRect(0, 0, 400, 400); // großes Quadrat


 innerhalb = 0; // lokale Variabeln, zählen ob Treffer innerhalb oder außerhalb des Kreises sind
 auserhalb = 0;
 for (int i=1;i

Du meinst, dass das ganze neu gezeichnet wird, wenn man das Fenster verändert? Ansonsten versteh ich auch Deine Frage nicht. Wäre höchstens noch anzumerken, dass Du statt getrennter x/y Paare vielleicht gleich Point speichern solltest. Ansonsten ist doch erstmal alles gut. :smile: