# Java-Applet, Kreis zeichnen



## pakito (18. Apr 2007)

Hallo, ich würde gerne mehrmals einen Kreis innerhalb eines Applets  zeichnen.
Dafür habe ich eine Klasse Kreis.java, die eine Methode zeichne besitzt.
Diese will ich dann im Applet aufrufen und eine Röhre aus Kreisen zeichnen.   Leider klappt es nicht.
Die zeichne Methode sieht so aus: 

```
public void zeichne(java.awt.Graphics g) {
        g.drawOval(x - radius, y - radius, 2 * radius, 2 * radius);
    }

Das Applet dann so:
/*
 * Created on 28.02.2007
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Mariana
 * 
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */

import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;

public class KreisApplet extends Applet {

    Kreis kreis;

    int i;

    int j;

    int c;

    public void init() {
        i = 100;
        j = 100;
        c = 50;
        kreis = new Kreis(i, j, c);

    }

    public void paint(Graphics g) {
        for (int i = 0; i < 200; i++) {
            
            for (int j = 0; j < 200; j++) {
                
                for (int c = 0; c < 100; c++) {
                    
                    

                }
            }
            kreis.zeichne(g);
            i++;
            j++;
            c++;
            
        }

    }
}
```
Ich danke euch im Voraus!
Pakito

*Edit by Wildcard: Code Tags hinzugefügt*


----------



## Guest (18. Apr 2007)

Ohne die Klasse Kreis zu kennen kann ich das nicht ausprobieren aber versuch mal folgendes:


```
public class KreisApplet extends Applet {

    Kreis kreis;

    public void paint(Graphics g) {
        for (int i = 0; i < 200; i++) {
           
            for (int j = 0; j < 200; j++) {
               
                for (int c = 0; c < 100; c++) {
                   
                    kreis = new Kreis(i,j,c);
                    kreis.zeichne(g);

                }
            }
            
        }

    }
}
```


----------



## pakito (18. Apr 2007)

Vielen Dank, so klappt es!


----------



## Wildcard (18. Apr 2007)

Das Vorgehen ist aber nicht das beste da hier mal eben 4.000.000 Objekte pro Zeichenaufruf erzeugt werden  :autsch: 
Erstell die Objekte in der init Methode.


----------



## Guest (18. Apr 2007)

Wildcard hat gesagt.:
			
		

> Das Vorgehen ist aber nicht das beste da hier mal eben 4.000.000 Objekte pro Zeichenaufruf erzeugt werden  :autsch:
> Erstell die Objekte in der init Methode.



Das ist wohl wahr. Wenn die Klasse Kreis auch set-Methoden für x, y und radius hat, sollte die init-Methode so bleiben und statt dem new Kreis(..) ein Aufruf der 3 set-Methoden erfolgen.


----------

