Vereinfachung von AWT Prog

Status
Nicht offen für weitere Antworten.
C

CuriousAngel

Gast
Hi, hab das folgende Programm geschrieben:

Code:
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.*;


public class Bild extends Canvas{
	 public void paint(Graphics g){
		 g.setColor(Color.red);
		 g.fillOval(50,50,200,200);
		 g.setColor(Color.blue);
		 g.fillOval(55,55,190,190);
		 g.setColor(Color.red);
		 g.fillOval(60,60,180,180);
		 g.setColor(Color.blue);
		 g.fillOval(65,65,170,170);
		 
		 
		 g.setColor(Color.red);
		 g.fillOval(70,70,160,160);
		 g.setColor(Color.blue);
		 g.fillOval(75,75,150,150);
		 g.setColor(Color.red);
		 g.fillOval(80,80,140,140);
		 g.setColor(Color.blue);
		 g.fillOval(85,85,130,130);
		 
		 g.setColor(Color.red);
		 g.fillOval(90,90,120,120);
		 g.setColor(Color.blue);
		 g.fillOval(95,95,110,110);
		 g.setColor(Color.red);
		 g.fillOval(100,100,100,100);
		 g.setColor(Color.blue);
		 g.fillOval(105,105,90,90);
		 
		 g.setColor(Color.red);
		 g.fillOval(110,110,80,80);
		 g.setColor(Color.blue);
		 g.fillOval(115,115,70,70);
		 g.setColor(Color.red);
		 g.fillOval(120,120,60,60);
		 g.setColor(Color.blue);
		 g.fillOval(125,125,50,50);
		 
		 g.setColor(Color.red);
		 g.fillOval(130,130,40,40);
		 g.setColor(Color.blue);
		 g.fillOval(135,135,30,30);
		 g.setColor(Color.red);
		 g.fillOval(140,140,20,20);
		 g.setColor(Color.blue);
		 g.fillOval(145,145,10,10);

		 
	 }
		 
		 
	 }

So, nun meine Frage. Kann ich das ganze in ne Schleife packen?? Und wenn ja wie mach ich das ?
 
S

SlaterB

Gast
for (i 0 bis 20) {
Color bestimmen (z.B. anfang red und dann immer tauschen)
4 Koordinaten berechen,
z.B. x = 50+i*5;

Color setzen,
Kreis malen
}
 
S

SlaterB

Gast
Kopf einschalten? alles sage ich dir nicht vor,

vielleicht wirds durch ein einfacheres Beispiel klarer:

Code:
public class Test
{
    public static void main(String[] args)
        throws Exception
    {
        int x = (int)(Math.random() * 2);  // kann 0 oder 1 sein
        System.out.println("x: " + x);
        // kriegst du hier einen einfache Code hin
        // der x auf 0 setzt wenn x 1 war und andersrum?

    }
}
 

Ariol

Top Contributor
So in der Art
Code:
for(int i = 10; i < 30; i++)
{
if(i%2 == 0) g.setColor(Color.red);
else g.setColor(Color.blue);

int pos = i*5;
int size = 200-((i-10)*10);

g.drawOval(pos,pos,size,size);
}
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben