Inhoud
Het vastleggen van een toetsaanslag in Java is niet hetzelfde als het accepteren van een toetsenbordinvoer. In de meeste situaties accepteert een programma gebruikersinvoer vanaf het toetsenbord, in de vorm van afdrukbare tekens. Letters, cijfers en symbolen worden gelezen en opgeslagen, teruggekaatst naar het scherm of gebruikt om een andere actie in het programma te starten. Bij het vastleggen van de druk op een niet-afdrukbare toets, richtingspijlen en de Tab-toets, bijvoorbeeld, moet de invoer worden geïnterpreteerd door het programma en worden verzonden naar de juiste invoer / uitvoerbibliotheek om te worden behandeld.
routebeschrijving
Niet-afdrukbare tekens in Java vastleggen en verwerken (Creatas Images / Creatas / Getty Images)-
Maak een functie om de toetsaanslag te detecteren en een variabele toe te wijzen om de gebeurtenis te volgen:
public boolean keyDown (Event e, int key) {
Een Booleaanse variabele retourneert alleen de waarde true of false. De standaardstatus van dit type variabele is false. Als u op een toets drukt, verandert de waarde in true. Deze functie retourneert ook het ASCII-equivalent en slaat dit op in de integer-variabele "sleutel".
-
Bepaal of de toets die u hebt ingedrukt een afdrukbaar teken is:
if (toets> 31 && toets <127) {
Afdrukbare ASCII-tekens hebben waarden tussen 31 en 127. Alle andere vereisen een speciale afhandeling.
-
Als het een afdrukbaar teken is, geeft u de sleutelwaarde door aan het programma:
return validateText (key); }
-
Informeer het oproepende programma dat de sleutel niet kan worden afgedrukt en speciale verwerking vereist als deze buiten de gespecificeerde ASCII-waarden valt:
return false; }
tips
- Wanneer de valse waarde wordt teruggegeven aan het aanroepende programma, geeft de functie keyDown () de sleutelwaarde door aan de superklassefunctie in de Java Abstract Window Toolkit (AWT) klassenbibliotheek, die verantwoordelijk is voor het renderen van niet-afdrukbare sleutels.
- Het complete codesegment:
- public boolean keyDown (Event e, int key) {
- if (toets> 31 && toets <127) {
- return validateText (key).
- }
- return false;
- }