martes, 1 de marzo de 2011

Doble click en Java

Muchas veces nos vemos en la necesidad de detectar un evento doble click en nuestras aplicaciones; para ello Java cuenta con el método getClickCount de la clase MouseEvent. A continuación veremos un sencillo ejemplo de cómo programar el doble click en Java.

Para efectos de ejemplo utilizaremos un jLabel para detectar los doble clicks realizados sobre él; pero puede usarse para cualquier otro tipo de componente que soporte los eventos del mouse tales como el formulario, un panel, un botón, etc.

Comenzamos arrastrando un jLabel al formulario, luego damos click derecho al jLabel, del menú desplegable seleccionamos Events y del submenú de éste elegimos Mouse y de las opciones de éste último seleccionamos mouseClicked. Lo que nos llevará al código que debe implementarse dentro del método mouseClicked de la interface MouseListener, el cual será el siguiente:
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount()==2)
System.out.println("DOBLE CLICK");
}
Con el código anterior lo que conseguimos es que cada vez que se realiza un doble click sobre el jLabel, se imprime por consola el texto "DOBLE CLICK". Lo interesante es que el evento por sí solo controla el tiempo entre un click y el siguiente, por lo que no hay problema si por ejemplo damos un click y esperamos demasiado tiempo y volvemos a dar otro click, éste ya no es considerado como un evento doble click. Por lo que solamente el programa considerará doble click, cuando el usuario realice los clicks del ratón de forma rápida y consecutiva; de esta manera entendemos que el método getClickCount devuelve el número de clicks realizados por el usuario de forma rápida y consecutiva.

De forma similar también podemos detectar los triple clicks (3 clicks), o en un remoto caso 4, 5, etc clicks realizados sobre algún componente.

Como siempre los softwares utilizados fueron el IDE Netbeans 6.5 y Java.

Código Fuente: download/descargar

4 comentarios :

  1. Interesante entrada. Gracias por la información, siempre nos vendrá bien. Saludos.
    Ramón

    ResponderEliminar
  2. @Ramon, gracias por su siempre gentil participación, me alegra que siga siendo un blogger tan entusiasta.

    ResponderEliminar
  3. te amooooooooooooooooooooooooo
    Me rompi la cabeza una semana hasta que encontre esto.
    Gracias

    ResponderEliminar
  4. Muchas gracias. Funciona muy bien con JTable, al hacer doble click en una fila o celda.

    ResponderEliminar

Encuesta: ¿Quién es el mejor catedrático de la carrera de Ing. Informática de la UAGRM?