SoloCodigo
Programación General => Java => Mensaje iniciado por: cyberexplorador en Martes 12 de Mayo de 2009, 22:11
-
Hola. Me podrían ayudar.
He estado haciendo una simulación de carrera de caballos y los caballos son Labels. Cuando uso Label se mueven poco a poco hasta llegar el fin. El problema es que necesito usar JLabel ya que solo ellos permiten poner imagen de fondo, pero al moverlos con los hilos no se mueven poco a poco sino que aparecen en el objetivo.
Para hacerme entender mejor copiaré el código.
Primero debo especificar que tengo 5 labels llamados:
1. lblCaballo1
2. lblCaballo2
3. lblCaballo3
4. lblCaballo4
5. lblCaballo5
El siguiente código va dentro de un botón llamado btnJugar
Código:
btnJugar.setEnabled(false);
for(int i=0; i<=130; i++){
int x = lblCaballo1.getX();
int y = lblCaballo1.getY();
int x2 = lblCaballo2.getX();
int y2 = lblCaballo2.getY();
int x3 = lblCaballo3.getX();
int y3 = lblCaballo3.getY();
int x4 = lblCaballo4.getX();
int y4 = lblCaballo4.getY();
int x5 = lblCaballo5.getX();
int y5 = lblCaballo5.getY();
/*int valX1 = o.cab1;
int valX2 = o.cab2;
int valX3 = o.cab3;*/
int cab1 = (int)(Math.random()*10);
int cab2 = (int)(Math.random()*10);
int cab3 = (int)(Math.random()*10);
int cab4 = (int)(Math.random()*10);
int cab5 = (int)(Math.random()*10);
//lblCaballo4.setText(Integer.toString(i));
//lblCaballo5.setText(Integer.toString(cab2));
//lblCaballo6.setText(Integer.toString(cab3));
try {
Thread.sleep(100);
int incre1 = x + cab1;
int incre2 = x2 + cab2;
int incre3 = x3 + cab3;
int incre4 = x4 + cab4;
int incre5 = x4 + cab5;
lblCaballo1.setLocation(incre1, y);
lblCaballo2.setLocation(incre2, y2);
lblCaballo3.setLocation(incre3, y3);
lblCaballo4.setLocation(incre4, y4);
lblCaballo5.setLocation(incre5, y5);
if(incre1>incre2 && incre1>incre3 && incre1>incre4 && incre1>incre5) {
lblGanador.setText(lblCaballo1.getText());
}
if(incre2>incre1 && incre2>incre3 && incre2>incre4 && incre2>incre5) {
lblGanador.setText(lblCaballo2.getText());
}
if(incre3>incre1 && incre3>incre2 && incre3>incre4 && incre3>incre5) {
lblGanador.setText(lblCaballo3.getText());
}
if(incre4>incre1 && incre4>incre2 && incre4>incre3 && incre4>incre5) {
lblGanador.setText(lblCaballo4.getText());
}
if(incre5>incre1 && incre5>incre2 && incre5>incre3 && incre5>incre4) {
lblGanador.setText(lblCaballo5.getText());
}
} catch (InterruptedException ex) {
System.out.println("Error: " + ex.getMessage());
}
}
-
hola, mira este ejemplo a ver si te sirve.
Alguna duda me dices :hola:
-
Muchas gracias lo voy a revisar y luego cualquier cosa te aviso.
-
Oye panita muchas gracias. Está genial. Solo tengo que adaptarle a mi programa. Muchas gracias por tu ayuda. Además tu programa me ayudó a entender un poco más esto de hilos en Java usando applets.
Muchas gracias :D