• Jueves 7 de Noviembre de 2024, 23:40

Autor Tema:  Problema al mover JLabels con Hilos  (Leído 2525 veces)

cyberexplorador

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Problema al mover JLabels con Hilos
« en: Martes 12 de Mayo de 2009, 22:11 »
0
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());
           }
   
   }

fm89-10

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: ni
    • Ver Perfil
Re: Problema al mover JLabels con Hilos
« Respuesta #1 en: Miércoles 13 de Mayo de 2009, 21:44 »
0
hola, mira este ejemplo a ver si te sirve.

Alguna duda me dices   :hola:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

cyberexplorador

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Problema al mover JLabels con Hilos
« Respuesta #2 en: Domingo 17 de Mayo de 2009, 21:10 »
0
Muchas gracias lo voy a revisar y luego cualquier cosa te aviso.

cyberexplorador

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Problema al mover JLabels con Hilos
« Respuesta #3 en: Domingo 17 de Mayo de 2009, 21:26 »
0
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