Applet- jak zrobic aby kolor sie caly czas zmieniał

0

Używam programu eclipse.
Ten kod znalazłem gdzieś na youtube w tutorialach z javy.
Program wyświetla mi czerwony kwadracik który porusza się w w prawo, w dół, w lewo, do góry i tak cały czas. Teraz chce zrobić tak aby jego kolor się zmieniał. Ma ktoś jakiś pomysł ?...(Na przykład przy zmianie kierunku)
Pierwsza klasa: Program

 import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Timer;
public class Program extends Applet
{
	static Applet applet;
	Zadanie zadanie = new Zadanie();
	Timer timer = new Timer();
	public void init()
	{
		applet = this;
		applet.setSize(600, 400);
		applet.setBackground(Color.LIGHT_GRAY);
		timer.scheduleAtFixedRate(zadanie, 10, 10);	
	}
	public void paint(Graphics g)
	{
		g.setColor(Color.RED);
		g.fillRect(zadanie.poz1, zadanie.poz2, 100, 100);
	}
}

Druga klasa: Zadanie

 import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Timer;
public class Program extends Applet
{
	static Applet applet;
	Zadanie zadanie = new Zadanie();
	Timer timer = new Timer();
	public void init()
	{
		applet = this;
		applet.setSize(600, 400);
		applet.setBackground(Color.LIGHT_GRAY);
		timer.scheduleAtFixedRate(zadanie, 10, 10);	
	}
	public void paint(Graphics g)
	{
		g.setColor(Color.RED);
		g.fillRect(zadanie.poz1, zadanie.poz2, 100, 100);
	}
}
0

2ga klasa. wkleiłem to samo wczesniej;p

import java.awt.Color;
import java.util.TimerTask;

public class Zadanie extends TimerTask
{
	int poz1 = 0;
	int poz2 = 0;
	int kierunek = 1;
	int licznik = 0;
	public void run()
	{
		switch(kierunek)
		{
		case 1:
			licznik++;
			poz1++;
			if(licznik==200)
			{
				licznik = 0;
				kierunek = 2;
			}
			break;
		case 2:
			licznik++;
			poz2++;
			if(licznik==200)
			{
				licznik = 0;
				kierunek = 3;
			}
			
			break;
		case 3:
			licznik++;
			poz1--;
			if(licznik==200)
			{
				licznik = 0;
				kierunek = 4;
			}
			break;
		case 4:
			licznik++;
			poz2--;
			if(licznik==200)
			{
				licznik = 0;
				kierunek = 1;
			}
			break;
		}
		
		Program.applet.repaint();
		
	}
	

}
 
1

Np. losuj kolor.

        //pole w klasie
        Random r = new Random();
        public void paint(Graphics g)
        {
                Color kolor = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));
                g.setColor(kolor);
                g.fillRect(zadanie.poz1, zadanie.poz2, 100, 100);
        }
0
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
import java.util.Timer;
public class Program extends Applet
{
	static Applet applet;
	Zadanie zadanie = new Zadanie();
	Timer timer = new Timer();
	Random r = new Random();
	public void init()
	{
		applet = this;
		applet.setSize(600, 400);
		applet.setBackground(Color.LIGHT_GRAY);
		timer.scheduleAtFixedRate(zadanie, 10, 10);	
	}
	public void paint(Graphics g)
	{
		Color kolor = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));
        g.setColor(kolor);
        g.fillRect(zadanie.poz1, zadanie.poz2, 100, 100);
	}
} 

Zmieniaja sie;) dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1