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
Slim es un micro framework para PHP que nos ayuda a escribir rápidamente aplicaciones Web y APIs sencillas pero poderosa[...]
MAUS es una aplicación para dispositivos móviles con el Sistema Operativo Android que te permite realizar exámenes desde[...]
En este post crearemos una aplicación sencilla para mandar mensajes de texto desde android. Necesitamos IDE: Eclipse + S[...]
En este post conoceremos una forma de representar grafos mediante una Matriz de Adyacencia y un ejemplo básico de este e[...]
La clase de java DatabaseMetaData nos permite obtener información exhaustiva sobre una base de datos, para ser más exact[...]
El método Bífido es un cifrado fraccionario. Es decir que cada letra viene representada por una o más letras o símbolos,[...]