Nwlapcug.com


Come catturare le battiture in Java



Catturare una sequenza di tasti in Java non è esattamente la stessa di accettare input da tastiera. Nella maggior parte delle situazioni, un programma accetta l'input dell'utente da tastiera sotto forma di caratteri stampabili. Lettere, numeri e simboli sono leggere nel programma e archiviati, ha fatto eco alla schermata o utilizzati per avviare altre azioni all'interno del programma. Quando si acquisisce una sequenza di tasti per una chiave non stampabili, i tasti freccia e il tasto tab, per esempio, l'input deve essere interpretati dal programma e passati alla libreria di input/output appropriata per la movimentazione.

Istruzioni

1

Creare una funzione per rilevare la pressione di un tasto e assegnare una variabile per tenere traccia dell'evento:

{public boolean keyDown (evento e, int chiave)

Una variabile booleana restituisce solo un valore true o false. Lo stato predefinito di questo tipo di variabile è falso. Premendo un tasto, viene modificato il valore su true. Questa funzione restituisce anche il valore ASCII del tasto che viene premuto e memorizza tale valore nella variabile integer "chiave".

2

Determinare se il tasto premuto è un carattere stampabile:

Se (chiave > 31 & & chiave < 127) {

Caratteri ASCII stampabili hanno valori tra 31 e 127. Tutti gli altri valori da tastiera richiedono una gestione speciale.

3

Passare il valore della chiave al programma se è un carattere stampabile:

restituire validateText (chiave);

}

4

Informare il programma chiamante che la chiave non può essere stampata e richiede una gestione speciale se cade all'esterno i valori ASCII specificati:

restituire false;

}

Consigli & Avvertenze

  • Quando il valore di false viene restituito al programma chiamante, la funzione di keyDown() passa il valore della chiave alla funzione superclasse contenuta nella libreria di classi Java Abstract Window Toolkit (AWT) predefinito che è responsabile dell'elaborazione di chiavi non stampabili.
  • Il segmento di codice intero:
  • {public boolean keyDown (evento e, int chiave)
  • Se (chiave > 31 & & chiave < 127) {
  • restituire validateText (chiave);
  • }
  • restituire false;