El problema dice asi:
Se desea contar los segundos que se presiona un JButton en un formulario.
Solución:
Para resolver este problema, se debe conocer los eventos del JButton, para este problema, solo necesitamos conocer dos de ellos:
MousePressed: Ocurre cuando se presiona con el botón del ratón dentro el JButton, termina una vez que se levanta.
MouseReleased: Se ejecuta una vez que se levanta completamente el dedito 🙂 del boton del ratón.
Para implementar un contador se utiliza un Timer y un TimerTask el cual ira incrementando una variable cada 1000 milisegundos ( osea cada segundo ), este Timer, se implementa en una clase llamada Tiempo.java.
import java.util.Timer; import java.util.TimerTask; /** * @web https://www.jc-mouse.net * @author Mouse */ public class Tiempo { private Timer timer = new Timer(); private int segundos=0; //Clase interna que funciona como contador class Contador extends TimerTask { public void run() { segundos++; System.out.println("segundo: " + segundos); } } //Crea un timer, inicia segundos a 0 y comienza a contar public void Contar() { this.segundos=0; timer = new Timer(); timer.schedule(new Contador(), 0, 1000); } //Detiene el contador public void Detener() { timer.cancel(); } //Metodo que retorna los segundos transcurridos public int getSegundos() { return this.segundos; } }
Nuestra interfaz de prueba es un JFrame que solamente consta de un JButton
Implementando esta clase en nuestra interfaz de prueba en los eventos respectivos del JButton
Tiempo tiempo = new Tiempo(); private void jButton1MousePressed(java.awt.event.MouseEvent evt) { if(evt.getButton()==1) tiempo.Contar(); } private void jButton1MouseReleased(java.awt.event.MouseEvent evt) { tiempo.Detener(); javax.swing.JOptionPane.showMessageDialog(this,"Se presiono el boton por " + tiempo.getSegundos() + " Segundos" ); }
Resultado
Reproducir archivos de audio en nuestras aplicaciones android. Necesitamos IDE Eclipse y SDK Android instalado Un archiv[...]
Notación matemática formada por una tabla cuadrada de números, u otros elementos, entre dos líneas verticales; el valor[...]
Existen varias aplicaciones (free y de pago) que emulan una impresora virtual para generar archivos en PDF (Portable Do[...]
Ya sea para desarrollo de software o para cualquier otro tipo de tareas donde necesitas plasmar una idea de forma rápida[...]
En este post desarrollaremos una aplicación que nos permitirá leer un código QR y capturar la información que contiene y[...]
Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad[...]