Sådan Capture Keystrokes i Java

Forfatter: Frank Hunt
Oprettelsesdato: 17 Marts 2021
Opdateringsdato: 19 November 2024
Anonim
Sådan Capture Keystrokes i Java - Artikler
Sådan Capture Keystrokes i Java - Artikler

Indhold

At fange et tastetryk i Java er ikke det samme som at acceptere en tastaturindgang. I de fleste situationer accepterer et program brugerindgang fra tastaturet i form af udskrivbare tegn. Bogstaver, tal og symboler læses og gemmes, ekkoeres tilbage til skærmen eller bruges til at igangsætte andre handlinger inden for programmet. Når du fanger trykket på en ikke-trykt nøgle, retningspile og tabtasten, skal inputet f.eks. Tolkes af programmet og sendes til det relevante input / output-bibliotek for at kunne håndteres.


retninger

Optag og behandle ikke-udskrivbare tegn i Java (Creatas Images / Creatas / Getty Images)
  1. Opret en funktion til at registrere tastetrykket og tildele en variabel for at følge arrangementet:

    offentlig booleansk keyDown (hændelse e, int nøgle) {

    En boolesk variabel returnerer kun den sande eller den falske værdi. Standardtilstanden for denne type variabel er falsk. Ved at trykke på en tast ændres værdien til ægte. Denne funktion returnerer også ASCII-ækvivalenten og gemmer den i integervariabeln "tasten".

  2. Bestem, om nøglen du trykker på, er et udskriveligt tegn:

    hvis (nøgle> 31 && nøgle <127) {

    Udskrivbare ASCII-tegn har værdier mellem 31 og 127. Alle andre kræver særlig håndtering.


  3. Hvis det er en udskrivbar karakter, skal du sende tastværdien til programmet:

    returnere validateText (key); }

  4. Informer opkaldsprogrammet om, at nøglen ikke kan udskrives og har brug for særlig behandling, hvis den er uden for de angivne ASCII-værdier:

    returnere falsk; }

tips

  • Når den falske værdi returneres til opkaldsprogrammet, passerer keyDown () -funktionen nøgleværdien til superklassefunktionen i klassebiblioteket Java Abstract Window Toolkit (AWT), som er ansvarlig for at gengive ikke-udskrivbare nøgler.
  • Det komplette kodesegment:
  • offentlig booleansk keyDown (hændelse e, int nøgle) {
  • hvis (nøgle> 31 && nøgle <127) {
  • returnér validateText (nøgle).
  • }
  • returnere falsk;
  • }