Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Ubadelphis

#1
Java / Ciclo de Semáforo
20 Octubre 2020, 02:58 AM

Este es un fragmento de un programa en NetBeans, para carreras de Carros, ya lo terminé,
pero me falta el control del semáforo para el inicio de la carrra.
Tengo lo colores en un enum con la secuencia Rojo, Amarillo y Verde
Con una JLabel que muestra loas imágenes del semáforo para cada color.
El Problema es que No Consigo que el ciclo muestre la secuencia correcta, es decir Rojo, Amariilo y Verde,
que es cuando se inicia la carrera, además me debería mostrar en el texto de la JLabel,
lo siguinete: Esperar y el conteo del Tiempo en segundos, para el color Rojo, Preparados y el conteo del Tiempo en segundos
para el Color Amarillo y finalmente Cambiar a verde y mostrar en el texto de la Jlabel Partida y la Cuenta Final de los Segundos
Creo, que con tiempo de 5 segundos (5000 milisegundos) desde el color Rojo mas otros 5 segundos para el color Amarillo y 15 segundos
como cuenta final para el verde y así iniciar la carrera que está diseñada con hilos, uno para cada corredor.
Actualemnte pasa de Rojo a Aamrillo y se inicia la carrera o pasa de rojo a verde y se inicia la carrera, pero no me muestra el amarillo.
He Probado varias formas pero no doy con el código corecto, gracias de antemano por su atención,

Código (java) [Seleccionar]
for(int i=3; i>0; i--)
{
 System.out.println(i);
        // jSemaforo.setText("Esperar"+i);
  try
    {                                                  
     Thread.sleep(3000);
             
             if (i==3)
              {
                 Imagenes = new ImageIcon(getClass().getResource("rojo.jpg"));  
                 jSemaforo.setIcon(Imagenes);
                 jSemaforo.setText("Esperar"+i);
              }
             else
             {
                 if (i==2)
                    {
                     Imagenes = new ImageIcon(getClass().getResource("amarillo.jpg"));  
                      jSemaforo.setIcon(Imagenes);
                      jSemaforo.setText("Preparados"+i);
                     }
                   else
{
        if (i==3)
                       {
                        Imagenes = new ImageIcon(getClass().getResource("verde.jpg"));  
                        jSemaforo.setIcon(Imagenes);
                        jSemaforo.setText("Partidas"+i);
                       }
 }
 }  
             
    }  catch(InterruptedException e){}





Mod: Obligatorio el uso de etiquetas GeSHi para código.