necesito ayuda con un programa en java es para mi proyecto final se trata de una carrera de n hilos definidos por el usuario los cuales tienen un avance aleatorio se ejemplifica mejor con el siguiente código:
package hipodromo;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.*;
class Caballo extends Thread
{
JProgressBar caballo;
public Caballo(JProgressBar jp)
{
this.caballo=jp;
}
public void run()
{
int avanse =0;
while (avanse<100)
{
try
{
avanse+=(int)(Math.random()*10);
caballo.setValue(avanse);
sleep((long)(Math.random()*1000));
}
catch (InterruptedException e)
{
}
}
}
}
public class Hipodromo extends JFrame
{
JPanel pista;
JLabel[] nombres=new JLabel[10];
JProgressBar []participantes =new JProgressBar[10];
public Hipodromo()
{
super ("HIPODROMO LAS AMERICAS");
pista =new JPanel();
pista.setLayout(new GridLayout(10,2));
for (int i=0;i<10;i++)
{
nombres=new JLabel("caballo "+i);
pista.add(nombres);
participantes = new JProgressBar();
pista.add(participantes);
}
this.add(pista);
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args)
{
Hipodromo obj=new Hipodromo();
for(int i=0;i<obj.participantes.length;i++)
{
new Caballo(obj.participantes).start();
}
}
}
la idea es hacerlo y no con jprogress sino con un jlabel o algo similar, y con imágenes espero y me puedan ayudar.