Contenido
Capturar la pulsación de una tecla en Java no es lo mismo que aceptar una entrada del teclado. En la mayoría de las situaciones, un programa acepta la entrada del usuario desde el teclado, en la forma de caracteres imprimibles. Las letras, números y símbolos se leen y almacenan, se repiten de nuevo a la pantalla o se utilizan para iniciar alguna acción dentro del programa. Al capturar la pulsación de una tecla no imprimible, las flechas de dirección y la tecla Tab, por ejemplo, la entrada debe ser interpretada por el programa y transmitida a la biblioteca adecuada de entrada / salida para ser tratada.
instrucciones
Capture y procese caracteres no imprimibles en Java (Creatas Images / Creatas / Getty Images)-
Cree una función para detectar la pulsación de una tecla y asignar una variable para seguir el evento:
public boolean keyDown (Event e, int key) {
Una variable booleana devuelve sólo el valor verdadero o falso. El estado predeterminado (predeterminado) de este tipo de variable es falso. Presionar una tecla cambia el valor a true. Esta función también devuelve el equivalente en ASCII y lo almacena en la variable entera "key".
-
Determine si la tecla presionada es un carácter imprimible:
if (clave> 31 && key <127) {
Los caracteres ASCII imprimibles tienen valores entre 31 y 127. Todos los demás necesitan un tratamiento especial.
-
Si es un carácter imprimible, pase el valor de la tecla al programa:
return validateText (clave); }
-
Informe al programa llamante que la tecla no se puede imprimir y necesita un tratamiento especial si está fuera de los valores ASCII especificados:
return false; }
consejos
- Cuando el valor falso se devuelve al programa llamante, la función keyDown () pasa el valor de la tecla a la función superclase contenida en la biblioteca de clases estándar AWT (Java Abstract Window Toolkit), que es responsable del procesamiento de teclas no imprimibles.
- El segmento de código completo:
- public boolean keyDown (Event e, int key) {
- if (clave> 31 && key <127) {
- return validateText (clave).
- }
- return false;
- }