Come catturare i tasti premuti in Java

September 7

Come catturare i tasti premuti in Java


Catturare una combinazione di tasti in Java non è esattamente la stessa di accettare input da tastiera. Nella maggior parte delle situazioni, un programma accetta input dell'utente dalla tastiera sotto forma di caratteri stampabili. Le lettere, numeri e simboli vengono letti nel programma e memorizzati, eco indietro alla schermata, o utilizzate per avviare altre azioni all'interno del programma. Durante l'acquisizione di una sequenza di tasti per una chiave non-stampa, i tasti freccia e il tasto Tab per esempio, l'ingresso deve essere interpretato dal programma, e passò alla biblioteca di input / output appropriato per la gestione.

istruzione

1 Creare una funzione per rilevare pressione di un tasto, e assegnare una variabile per monitorare l'evento:

keyDown pubblico booleana (Evento e, chiave int) {

Una variabile booleana restituisce solo un valore vero o falso. Lo stato di default di questo tipo di variabile è falsa. Premendo un tasto cambia il valore su true. Questa funzione restituisce anche il valore ASCII del tasto premuto, e negozi che valore nella variabile intera "chiave".

2 Determinare se il tasto premuto è un carattere stampabile:

if (tasto> 31 && tasto <127) {

caratteri ASCII stampabili hanno valori compresi tra 31 e 127. Tutti gli altri valori dalla tastiera richiedono una gestione speciale.

3 Passare il valore della chiave al programma che un carattere stampabile:

tornare ValidateText (chiave);

}

4 Informare il programma chiamante che la chiave non può essere stampato e richiede un trattamento speciale se cade al di fuori dei valori ASCII specificati:

return false;

}

Consigli e avvertenze

  • Quando il valore false viene restituito al programma chiamante, la funzione keyDown () passa il valore della chiave per la funzione superclasse contenuta nella libreria di classi Java predefinito Abstract Window Toolkit (AWT), che è responsabile del trattamento chiavi non stampabili.
  • L'intero segmento di codice:
  • keyDown pubblico booleana (Evento e, chiave int) {
  • if (tasto> 31 && tasto <127) {
  • tornare ValidateText (chiave);
  • }
  • return false;