Innhold
Fangst av tastetrykk i Java er ikke det samme som å godta tastaturinngang. I de fleste tilfeller aksepterer et program brukerinngang fra tastaturet, i form av utskrivbare tegn. Bokstaver, tall og symboler leses og lagres, ekko tilbake til skjermen eller brukes til å initiere noen annen handling i programmet. Når du fanger pressen til en ikke-skrivbar nøkkel, retningspiler og Tab-tasten, må inngangen tolkes av programmet og overføres til riktig inn / ut-bibliotek for å kunne håndteres.
retninger
Ta opp og behandle utskrivbare tegn i Java (Creatas Images / Creatas / Getty Images)-
Opprett en funksjon for å oppdage tastetrykket og tilordne en variabel for å følge arrangementet:
offentlig booleansk keyDown (Event e, int nøkkel) {
En boolsk variabel returnerer bare sann eller falsk verdi. Standardtilstanden for denne typen variabel er feil. Hvis du trykker på en tast, endres verdien til ekte. Denne funksjonen returnerer også ASCII-ekvivalenten og lagrer den i heltallvariabeln "tasten".
-
Finn ut om nøkkelen du trykker på, er et utskrivbart tegn:
hvis (tast> 31 && nøkkel <127) {
Utskriftsbare ASCII-tegn har verdier mellom 31 og 127. Alle andre krever spesiell håndtering.
-
Hvis det er et utskrivbart tegn, send nøkkelverdien til programmet:
returnere validateText (nøkkel); }
-
Informer anropsprogrammet om at nøkkelen ikke kan skrives ut og trenger spesiell behandling hvis den er utenfor de angitte ASCII-verdiene:
returner falsk; }
tips
- Når den falske verdien returneres til anropsprogrammet, overfører nøkkelverdien () -funksjonen nøkkelverdien til superklass-funksjonen som finnes i klassebiblioteket for Java Abstract Window Toolkit (AWT), som er ansvarlig for gjengivelse av ikke-skrivbare taster.
- Det komplette kodesegmentet:
- offentlig booleansk keyDown (Event e, int nøkkel) {
- hvis (tast> 31 && nøkkel <127) {
- returner validateText (nøkkel).
- }
- returner falsk;
- }