Java - Thread.sleep(1000)

 
Vista:

Thread.sleep(1000)

Publicado por Cj (1 intervención) el 16/11/2006 23:58:27
Quiero saber que tan efectivo es el hilo thread.sleep(#) pues he intentado detener una una animacion con este hilo pero la verdad no ha resultado.

No se si es que lo que necesito no se puede en windows o linux, la verdad solo he probado en windows.

Lo que he probado:

1. Creo un JFrame en una clase que hereda de un JPanel
2. Creo en el contructor de la clase un: JButton b = new JButton("1");
3. Una funcion llamada pausar(). que tiene un hilo Thread

public void pausar() {
try {
Thread.sleep(2000);
}
catch( InterruptedException e ) {}
}

4. Dentro del constructor hago lo siguiente
pausar();

b.setLabel( "2" );
pausar();

b.setLabel( "3" );
pausar();

b.setLabel( "4" );
pausar();

b.setLabel( "5" );
pausar();

b.setLabel( "6" );
pausar();

b.setLabel( "7" );
pausar();

b.setLabel( "8" );
pausar();

Y la verdad es que no se, pero cuando se termina de ejecutar solamente veo el boton con
la etiqueta "8"

Podrian decirme si existe otra forma??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Thread.sleep(1000)

Publicado por chuidiang (950 intervenciones) el 17/11/2006 05:08:57
Hola:

Es efectivo 100%. El problema posiblemente que están haciendo las pausas en el hilo de repintado de ventanas de java, con lo que después de que pare todo, sólo ves el último número. Prueba a meter todo en un hilo

Thread hilo = new Thread ()
{
public void run()
{
b.setLabel( "2" );
pausar();
...
b.setLabel( "8" );
pausar();
}
};
hilo.start();

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar