Javax.swing.timer

Solo disponible en BuenasTareas
  • Páginas : 3 (560 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de marzo de 2011
Leer documento completo
Vista previa del texto
CLASE JAVAX.SWING.TIMER

Al programar es posible que nos veamos con la necesidad de realizar una tarea cada cierto tiempo. Por ejemplo, si queremos pintar un reloj en pantalla, cada segundo debemosmover o repintar el segundero.

Java nos proporciona dos clases distintas que nos ayudan a esta tarea. Son las clases javax.swing.Timer y java.util.Timer. A ambas clases les decimos cada cuántoqueremos el aviso (por ejemplo, un aviso cada segundo en el caso del reloj) y ellas se encargan de llamar a un método que nosotros hayamos implementado.

javax.swing.Timer

Esta clase es más sencillade usar. Basta con instanciarla pasándole cada cuánto tiempo (en milisegundos) queremos que nos avise y un ActionListener, cuyo método actionPerformed () se ejecutará periódicamente. Luego sólo hayque llamar al método start () cuando queramos que el Timer empiece a contar.

Cuando lo que queremos es realizar una operación de forma periódica, no es necesario que creemos explícitamente unahebra.

Podemos utilizar la clase javax.swing.Timer, que asociaremos a un ActionListener encargado de realizar la operación:

//Animación a X fps (frames por segundo)

Public class AnimatorExtends JFrame

Implements ActionListener

{

….

Timer timer;

Public Animator (int fps)

{

Timer = new Timer (1000/fps, this);



}

Public void start Animation ()

{Timer. Start ();

}

Public void stop Animation ()

{

Timer. Stop ();

}

Public void actionPerformed (ActionEvent e)

{

//Mostrar el siguiente Frame

….

Repaint ();

}

….}

se recomienda utilizar Swing temporizadores en lugar de los temporizadores de uso general para las tareas relacionadas con el GUI Swing temporizadores porque todos compartimos el mismo hilo,contador de tiempo pre-existentes y la tarea relacionada con interfaz gráfica de usuario se ejecuta automáticamente en el caso de reexpedición hilo.

You can use Swing timers in two ways: Usted puede...
tracking img