En este articulo usaremos un timer y un jprogressbar, vamos a cargar el progressbar de 0 a 100 usando el timer, ademas funcion de iniciar, detener y reiniciar.
Vamos a usar un boton que servira para iniciar, detener y reiniciar el timer y progressbar.
Empecemos
Lo primer seria crear un proyecto en Netbeans, despues crear un paquete y agregar un JFrame Form.
Al JFrame Form le vamos a agregar 2 elementos: un Boton y un jProgressBar y quedara como en la siguiente imagen.
Lo que va a suceder el lo siguiente:
- Al hacer click en el boton empezara el timer, un contador de 0 a 100, sumando 1 cada 100milisegundos y se modificara el valor del jprogressbar
- Cuando el contador y el jprogressbar esten en 100 se detendra el timer.
- Una vez finalizado se ofrecera la opcion de reiniciar
- Si se da click al boton mientras el timer esta activo, se detendra el timer y el progressbar
Codigo
Ahora vamos a codificar.
Necesitas saber Como crear y usar el Timer en java y Usar Progressbar en Java
Tenemos que importar las 3 clases para que funcione el timer.
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Timer;
Ahora dentro de la clase y fuera de cualquier metodo vamos a definir las siguientes variables:
int start = 0; // Variable contador Timer timer = null; // Variable del timer
Les voy a poner el codigo que se ejecutara al hacer click en el boton jbutton1.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { if(timer==null && start==0){ // Si al presionar el boton: el timer es null y start=0, vamos a iniciar el contador timer = new Timer(100, new ActionListener(){ // Definimos que el contador realize la funcion cada 100milisegundos @Override public void actionPerformed(ActionEvent e) { start++; // Sumamos 1 a la variable start if(start>0 && start<100){ // Si start es mayor que 0 y menor que 100 jButton1.setText("Detener"); // poner Detener al texto del boton }else if(start==100){ // Si start es 100 timer.stop(); // Detener el timer jButton1.setText("Reiniciar"); // poner "Reiniciar" en el boton } jProgressBar1.setValue(start); // Colocar el valor de start en el progresscar, cada ciclo sumara 1 hasta llegar a 100 } }); timer.start(); // Iniciar el timer }else{ // Si al presionar el boton: timer no es null y/o start no es cero // Procedimiento para detener el timer y reinicar el contador start=0; // hacer el contador a CERO jButton1.setText("Iniciar"); // poner la etiqueta Iniar al boton jProgressBar1.setValue(start); // Poner el valor del contador al jprogressbar timer.stop(); // Detener el timer timer = null; // hacer null el timer } }
En los comentarios del codigo les explico cada una de las lineas.
Ahora les dejo un video del funcionamiento de lo que hemos visto.
Si te gusta el video dale Like y Suscribete a mi canal 😉 Ayudanos a crecer y crear mas contenido.
Conclusion
Podemos hacer muchas cosas con el Timer ej Java, esta solo es una idea.
Tambien podemos usar esta tecnica para crear las famosas pantallas de carga o Splash Screen pero eso lo podemos hacer en otra ocasion.
Que te parece el ejemplo?