Contenuto
Catturare una sequenza di tasti in Java non equivale all'accettazione di un input da tastiera. Nella maggior parte dei casi, un programma accetta l'input dell'utente dalla tastiera, sotto forma di caratteri stampabili. Lettere, numeri e simboli vengono letti e archiviati, riecheggiati sullo schermo o utilizzati per avviare altre azioni all'interno del programma. Quando si acquisisce la pressione di una chiave non stampabile, le frecce di direzione e il tasto Tab, ad esempio, l'ingresso deve essere interpretato dal programma e trasmesso alla libreria di input / output appropriata per essere gestito.
indicazioni
Cattura ed elabora i caratteri non stampabili in Java (Creatas Images / Creatas / Getty Images)-
Crea una funzione per rilevare la sequenza di tasti e assegnare una variabile per seguire l'evento:
keyDown booleano pubblico (evento e, chiave int) {
Una variabile booleana restituisce solo il valore vero o falso. Lo stato predefinito di questo tipo di variabile è falso. Premendo un tasto il valore diventa vero. Questa funzione restituisce anche l'equivalente ASCII e lo memorizza nella variabile intera "chiave".
-
Determina se il tasto premuto è un carattere stampabile:
if (chiave> 31 && tasto <127) {
I caratteri ASCII stampabili hanno valori compresi tra 31 e 127. Tutti gli altri richiedono una gestione speciale.
-
Se si tratta di un carattere stampabile, passare il valore chiave al programma:
return validateText (chiave); }
-
Informare il programma chiamante che la chiave non può essere stampata e richiede un'elaborazione speciale se non rientra nei valori ASCII specificati:
restituisce falso; }
suggerimenti
- Quando il valore falso viene restituito al programma chiamante, la funzione keyDown () passa il valore chiave alla funzione superclasse contenuta nella libreria di classi Java Abstract Window Toolkit (AWT), che è responsabile del rendering delle chiavi non stampabili.
- Il segmento di codice completo:
- keyDown booleano pubblico (evento e, chiave int) {
- if (chiave> 31 && tasto <127) {
- return validateText (chiave).
- }
- restituisce falso;
- }