Problema:mantener cadena en pantalla un tiempo
Publicado por Bea (32 intervenciones) el 26/04/2007 22:02:31
Hola, sigo teniendo problemas con los tiempos en java. Vereis, mi situación es la siguiente: yo necesito que me aparezca una palabra en pantalla durante un determinado tiempo, posteriormente desaparezca y al darle a un boton aparezca la siguiente, he metido el Thread.sleep(tiempo) dentro del evento del boton y no me funciona correctamente, solo me consigue sacar la primera palabra. Os pongo los metodos principales por si sabeis como solucionarlo. Gracias
//este metodo es el encargado de mostrar la palabra, esperar y borrarla de pantalla
private void mostrarPalabra() throws InterruptedException
{
etiqueta.setText((String) listado.get(contador));
etiqueta.setHorizontalAlignment((int) JLabel.CENTER_ALIGNMENT);
etiqueta.setVerticalAlignment((int) JLabel.CENTER_ALIGNMENT);
Thread.sleep(tiempo);
borrarPalabra();
contador++;
}
private void borrarPalabra() throws InterruptedException
{
etiqueta.setText("");
etiqueta.setHorizontalAlignment((int) JLabel.CENTER_ALIGNMENT);
etiqueta.setVerticalAlignment((int) JLabel.CENTER_ALIGNMENT);
}
//controla el evento del raton
public void actionPerformed(ActionEvent evento)
{
try
{
if(contador<listado.size())
{
mostrarPalabra();
}
}
catch(Exception e){}
}
//este metodo es el encargado de mostrar la palabra, esperar y borrarla de pantalla
private void mostrarPalabra() throws InterruptedException
{
etiqueta.setText((String) listado.get(contador));
etiqueta.setHorizontalAlignment((int) JLabel.CENTER_ALIGNMENT);
etiqueta.setVerticalAlignment((int) JLabel.CENTER_ALIGNMENT);
Thread.sleep(tiempo);
borrarPalabra();
contador++;
}
private void borrarPalabra() throws InterruptedException
{
etiqueta.setText("");
etiqueta.setHorizontalAlignment((int) JLabel.CENTER_ALIGNMENT);
etiqueta.setVerticalAlignment((int) JLabel.CENTER_ALIGNMENT);
}
//controla el evento del raton
public void actionPerformed(ActionEvent evento)
{
try
{
if(contador<listado.size())
{
mostrarPalabra();
}
}
catch(Exception e){}
}
Valora esta pregunta


0