Kuidas võita klahvivajutusi Java

Autor: Frank Hunt
Loomise Kuupäev: 20 Märts 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Kuidas võita klahvivajutusi Java - Artiklid
Kuidas võita klahvivajutusi Java - Artiklid

Sisu

Klahvivajutuse salvestamine Java-is ei ole sama, mis klaviatuuri sisestamine. Enamikus olukordades aktsepteerib programm kasutaja sisestust klaviatuurilt trükitavate märkide kujul. Kirju, numbreid ja sümboleid loetakse ja talletatakse, kajasid need tagasi ekraanile või kasutatakse mõne muu programmi käivitamiseks. Mitte-prinditava klahvi, suundnoolte ja tabulaatori klahvi salvestamisel tuleb sisendit tõlgendada programmi poolt ja edastada selleks sobivale sisend- / väljundraamatukogule.


Juhised

Jäädvusta ja töötle mitte-prinditavaid märke Java (Creatas Images / Creatas / Getty Images)
  1. Looge klahvivajutuse tuvastamiseks funktsioon ja määrake sündmuse jälgimiseks muutuja:

    avalik boolean keyDown (sündmuse e, int klahv) {

    Boole muutuja tagastab ainult tõelise või vale väärtuse. Seda tüüpi muutuja vaikimisi olek on vale. Klahvi vajutamine muudab väärtuse tõeks. See funktsioon tagastab ka ASCII ekvivalendi ja salvestab selle täisarvu muutuja "key".

  2. Määrake, kas vajutatav klahv on printitav märk:

    kui (võti> 31 && võti <127) {

    Prinditavatel ASCII tähemärkidel on väärtused vahemikus 31 kuni 127. Kõik teised vajavad eritöötlust.


  3. Kui see on prinditav märk, andke programmi põhiväärtus üle:

    tagastama validateText (võti); }

  4. Teavitage helistavat programmi, et võtit ei saa printida ja vajab eritöötlust, kui see on väljaspool määratud ASCII väärtusi:

    tagastage vale; }

Kuidas

  • Kui vale väärtus tagastatakse kutsuvale programmile, edastab keyDown () funktsioon põhiväärtuse Java abstraktse akna tööriistakomplekti (AWT) klassi funktsioonile, mis vastutab mitteprinditavate võtmete esitamise eest.
  • Koodide täielik segment:
  • avalik boolean keyDown (sündmuse e, int klahv) {
  • kui (võti> 31 && võti <127) {
  • tagastage validateText (võti).
  • }
  • tagastage vale;
  • }