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
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
En este post veremos como enviar solicitudes GET y POST a un API RestFul desde un dispositivo con android. Nuestra apli...
Como se vio en un post anterior (Capturar video de una webcam con JMF) la captura de un video desde una webcam utilizand...
En este post crearemos una aplicación en Android Studio para conectarnos con nuestra base de datos de Firebase y leer al...
¿Qué es SCRUM? SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como pu...
Hola 🙂 publicando de tiempo les dejo esta chiti librería java para convertir números a su equivalente literal. La librer...
MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part...
Los comentarios estan cerrados
El gigante tecnologico Google a puesto un bonito Doodle en su buscador que esta fascinando a sus millones de usuarios qu...
WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...
Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...
TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...
Muchas gracias man te pasaste lo pude hacer correr en sql server dsd netbeans y me funciono correctament (Y). Ahora voy a ver si lo puedo hacer desd una tabla. Gracias.
ok 🙂