
18/08/2012, 10:22
|
| | Fecha de Ingreso: enero-2010 Ubicación: Colombia
Mensajes: 238
Antigüedad: 15 años Puntos: 2 | |
Hilos en Applet Hola amigos estoy estudiando el tema de hilos en java e hice un programa con hilos en donde en una ventana Applet corren ovalos de colores pero lo malo es que se me salen de la ventana y lo que quiero es que reboten cuando lleguen a cualquiera de los cuatro extremos. Este es el codigo:
Primera clase:
Código:
import java.awt.Graphics;
import java.awt.Color;
public class circulo extends java.applet.Applet{
Circulos cir[];
public void init(){ //el init inicializa el applet
this.setSize(1000,1000);
cir=new Circulos[100];
for (int i=0;i<100;i++){
cir[i]=new Circulos(this);
cir[i]=new Circulos(this);
cir[i].start();
}
}
public void paint (Graphics g){ //g.drawOval pinta el contorno y g.fillOval rellena y g.Rect pinta un rectangulo y g.drawArc pinta un arco, g.drawPoligon pinta un poligono
repaint();
for(int i=0;i<100;i++){
g.setColor(new Color((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255)));
g.fillOval(cir[i].X,cir[i].Y,cir[i].ancho,cir[i].largo);
}
}
}
Segunda clase:
Código:
import java.awt.Color;
public class Circulos extends Thread{
circulo cir;
int X,Y,ancho,largo,velocidad;
Circulos(circulo cir){
X=0;
Y=(int)(Math.random()*600);
ancho=(int)(Math.random()*50);
largo=(int)(Math.random()*50);
velocidad=(int)(Math.random()*100);
this.cir=cir;
}
public void run(){
while(true){
cir.repaint();
try {
this.sleep(velocidad);
}catch(InterruptedException e){}
X++;
Y++;
}
}
}
|