wait(long)
Me gustarÃa saber como puedo hacer que mi programa se pare durante unos segundos mientras se ejecuta otro al que llamo dentro del mismo.
He probado con el metodo wait de la clase Object, pero me da un error de ejecución porque el proceso no es owner.
Tambien lo ha hecho con un bucle, pero no queda muy elegante.
¿Alguien sabe como se hace?
Muchas gracias
He probado con el metodo wait de la clase Object, pero me da un error de ejecución porque el proceso no es owner.
Tambien lo ha hecho con un bucle, pero no queda muy elegante.
¿Alguien sabe como se hace?
Muchas gracias
Para parar un programa un programa puedes hacer dos cosas:
Lo normal es esto
try
{
Thread.currentThread.sleep (1000); // Tiempo en mili segundos
}
catch (Exception e)
{
}
Esto sólo para el hilo en curso. Si usas ventanas y paras el hilo de refresco de las ventanas, durante este retardo la ventana no respondara a los clicks de ratón y no se repintará si la mueves. Si paras otro hilo que no sea el de las ventanas, entonces sà se refrescaran las ventanas y se ejecutarán los clicks de los botones.
Otra posibilidad es usar la clase Robot que está en java.awt. Esta clase está pensada para simular desde código eventos de ratón y teclado, con propósito de pruebas automáticas, pero tiene un método delay() que puedes usar.
Se bueno
Lo normal es esto
try
{
Thread.currentThread.sleep (1000); // Tiempo en mili segundos
}
catch (Exception e)
{
}
Esto sólo para el hilo en curso. Si usas ventanas y paras el hilo de refresco de las ventanas, durante este retardo la ventana no respondara a los clicks de ratón y no se repintará si la mueves. Si paras otro hilo que no sea el de las ventanas, entonces sà se refrescaran las ventanas y se ejecutarán los clicks de los botones.
Otra posibilidad es usar la clase Robot que está en java.awt. Esta clase está pensada para simular desde código eventos de ratón y teclado, con propósito de pruebas automáticas, pero tiene un método delay() que puedes usar.
Se bueno
Releyendo la pregunta se me ocurre otra cosa que quizas sea de utilidad.
Si ejecutas una aplicacion aparte, supongo que usas
Runtime.getRuntime().exec ("aplicacion.exe");
Puedes esperar que termine si coges el Process que devuelve esta llamada y esperas por el
Process p = Runtime.getRuntime().exec ("aplicacion.exe");
p.waitFor ();
Se bueno.
Si ejecutas una aplicacion aparte, supongo que usas
Runtime.getRuntime().exec ("aplicacion.exe");
Puedes esperar que termine si coges el Process que devuelve esta llamada y esperas por el
Process p = Runtime.getRuntime().exec ("aplicacion.exe");
p.waitFor ();
Se bueno.
