Our Country Sites: Argentina|Brazil|Chile|Mexico|Peru

Problemas con pantallas

Versión para impresiónVersión para impresiónSend by emailSend by email

Hola,

Les comento...

Se tiene una clase principal que manda a llamar a las pantallas para mostrar, la primera es una pantalla de inicio que se muestra por un determinado tiempo y entonces manda a llamar a la siguiente pantalla. En caso de apretar alguna tecla antes de transcurrir el tiempo establecido, también manda a llamar a la siguiente pantalla. El problema que tengo es que si espero a que transcurra el tiempo me manda un error en el push (IllegalStateException), sin embargo, si apretamos la tecla la pantalla se muestra de forma correcta. Alguna idea de como controlar esto? o algún consejo? El tiempo se pone mediante una tarea que se ejecuta una vez.

class Cerrar extends TimerTask
    {
        public void run()
        {
            System.out.println("PantallaInicial->Cerrar->run()->Ya cerre");
            tmrEspera.cancel();//Variable de tipo Timer
            cTermina.cancel(); //Variable de tipo Cerrar
            saetaPrincipal.iniciarPrograma();//Función que hace el push de la siguiente pantalla
        }
    }

Solucionado

El problema era que la actualización de la interfaz gráfica no la hacía el hilo original, sino otro por lo que marcaba otra excepción, lo que se tiene que hacer es notificar que se va a modificar mediante lo siguiente:

        UiApplication.getUiApplication().invokeLater(new Runnable()
        {
            public void run()
            {
                saetaPrincipal.iniciarPrograma();
            }
        });

Solucionado

Me alegro que hayas podido solucionar. Con los días festivos no atrasamos un poco en comentar en los foros.

Gracias por postear la solución que encontraste.

Saludos.