Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Ejercicios / Java / Contar segundos (Problema Resuelto)

Contar segundos (Problema Resuelto)

Autor jc mouse miércoles, junio 20, 2012

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

presioname

 Descargar ejemplo

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

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! :)

También Te Podría Interesar

Gestión de Stock (Parte 2)

Gestión de Stock (Parte 2)

Continuando con el desarrollo de la aplicación (Parte 1), abrimos Netbeans y creamos un nuevo proyecto al que llamaremos...

Arrastrar y cargar archivo Excel *.xlsx en tabla Java

Arrastrar y cargar archivo Excel *.xlsx en tabla Java

A continuación tenemos una clase que nos permite arrastrar un archivo de Excel (*.xlsx) y cargar su contenido en una tab...

Bloquear pantalla cliente

Bloquear pantalla cliente

En este tutorial crearemos una aplicación que bloqueara toda la pantalla de la PC y no nos dejara realizar ninguna tarea...

Leer y escribir en un archivo binario

Leer y escribir en un archivo binario

Problema: Desarrolle un programa en consola con c# para escribir y leer información de un archivo binario. Los datos a e...

Abre una aplicación swing java desde el navegador de forma segura

Abre una aplicación swing java desde el navegador de forma segura

Los mejores días del marco de java swing se han ido. Las aplicaciones de escritorio perdieron popularidad y todo está fo...

Conexión a base de datos Oracle con Laravel

Conexión a base de datos Oracle con Laravel

En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito,...

2 comentarios en “Contar segundos (Problema Resuelto)”

  1. cesar dice:

    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.

    1. Mouse dice:

      ok 🙂

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...

Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...

Herramientas

Generador de Enlaces a Whatsapp