Java - sleep

 
Vista:

sleep

Publicado por Bruno Pasquini (88 intervenciones) el 01/05/2007 04:42:03
tengo el siguiente codigo:

public void mensaje() throws Exception
{
lbtitulo.setText("La pelicula ha sido alquilada");
lbtitulo.setForeground(Color.red);
System.out.println("empiezo"+msn);
Thread.sleep(2000);
System.out.println("termino");
lbtitulo.setText("Alquilar pelicula");
lbtitulo.setForeground(Color.black);
}

y lo unico que hago es ver los println en la consola con 2 seg de retardo pero el label nunca cambia de color ni de texto me pueden decir q esta mal

salu2
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

RE:sleep

Publicado por Pablo (39 intervenciones) el 01/05/2007 05:06:24
No puedes hacer eso en el hilo principal, deberías hacerlo en un Thread aparte:

class CColor extends Thread{
JLabel lbl;

public CColor(JLabel l){
this.lbl = l;
}

public void run(){
lbtitulo.setText("La pelicula ha sido alquilada");
lbtitulo.setForeground(Color.red);
System.out.println("empiezo");
try {
Thread.sleep(2000);
} catch (InterruptedException e1) {}
System.out.println("termino");
lbtitulo.setText("Alquilar pelicula");
lbtitulo.setForeground(Color.black);
}
}

y el método mensaje debería ser:
public void mensaje() throws Exception
{
CColor c = new CColor(lbtitulo);
c.start();
}

Verás que funciona como lo esperas.

Saludos
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

RE:sleep

Publicado por Francis (16 intervenciones) el 02/05/2007 13:46:23
porqué no se puede hacer en el hilo principal?, lo pregunto porque a mi una vez me pasó algo parecido, estaba tratando con hilos y no me actualizaba la ventana, no llegué a saber cual era el motivo, pensé que había metido la pata en alguna parte del código pero no que no se podía hacer.
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