SoloCodigo

Programación General => Java => Mensaje iniciado por: alemag en Viernes 30 de Junio de 2006, 13:13

Título: Duda Con Timer
Publicado por: alemag en Viernes 30 de Junio de 2006, 13:13
Saludos, tengo mi codigo de la siguiente manera:
// instrucciones
Generar g=new Generar();
// instrucciones

donde Generar es una clase en la que se generan unos datos puede tardar un minuto, y mientras ese minuto quiero que en la barra de estado aparezcan los tipicos puntos suspensivos cada segundo (al primer segundo un punto, al segundo segundo dos puntos, al tercer segundo tres puntos, al cuarto segundo de nuevo un punto ... es decir,como mucho tres puntos suspensivos, y luego que vuelva a poner uno d nuevo). Por favor ayudame. Gracias.
Título: Re: Duda Con Timer
Publicado por: JuanK en Viernes 30 de Junio de 2006, 14:37
Puedes crear una clase o un metodo que ponga un punto cada segundo, pero esta clase debes instanciarla como un hilo o bien invocar el metodo con un hilo.
Título: Re: Duda Con Timer
Publicado por: alemag en Sábado 1 de Julio de 2006, 16:00
Pero lo que no se es que cuando vayan 5 segundos, volver a escribir un punto solo, y no 5, ese bucle es el que no lo logro hacer, no se reiniciar esa cuenta. Como lo podria hacer ??
Título: Re: Duda Con Timer
Publicado por: JuanK en Sábado 1 de Julio de 2006, 20:10
como estas escribiendo cada punto? es una aplicacion de consola o una e GUI de windows?
Título: Re: Duda Con Timer
Publicado por: Nagisa en Domingo 2 de Julio de 2006, 22:16
Usa el operador modulo ( % ).

Por ejemplo:

static int secs = 0;
//....
public void muestra_puntos(){
 while (!listo){  // listo es la variable que controla si el trabajo esta listo o no.
  secs++;
  for (int i = 0; i < (secs%5) ; i++){
   // Mostrar un punto
  }
  sleep(1000); // Espera un segundo
 }
}

Saludos.