Muy buen curso de java en espanol

Page 105

Capítulo 9: Eventos 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 }

Java modString += " (sin modificadores)\n\n";

String nuevoString = "Evento numero " + numeroEvento + " de tipo " + tipo + " detectado:\n" + charString + keyCodeString + modString; txtInfo.append(nuevoString); numeroEvento++; } public static void main(String[]args) { VisorEventosTeclado vet = new VisorEventosTeclado(); }

Si habéis hecho alguna prueba, podéis comprobara que siempre que pulséis alguna tecla que se corresponde a algún carácter UNICODE (y por tanto imprimible) se generan los tres eventos, pero cuando pulsáis alguna tecla que no tiene una representación sólo se generan los eventos de presioar y liberar tecla. Fijaos también que los modificadores contienen información sobre qué teclas adicionales pueden estar presionadas en un momento dado permitiendo detectar, por ejemplo, que hemos pulsado A + CTRL o C + CTRL + ALT. He resaltado en negrita aquellas partes del código que resultan interesantes para lo que ahora estamos tratando: • • •

en la línea 6 vemos que nuestra clase implemente la interfaz KeyListener y por tanto seremos nosotros mismos el gestor que trate los eventos del teclado; en la línea 23 podemos ver como se añade el gestor al campo de texto. Esto significa que los eventos de tipo teclado sólo serán generados y tratados cuando el foco esté sobre este componente; como nuestra clase es el gestor en las líneas 55, 60 y 65 tenemos sobrescritos los métodos correspondientes a la interfaz, que básicamente se encargan de delegar en otro método la impresión de la información correspondiente.

El método mostrarInfo que es el encargado de imprimir la información generada por el evento es interesantes porque permite ver algunas de los métodos consultores que tiene la clase KeyEvent. También los he resaltado en negrita.

- 103 -


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.