Keylistener - kezelő billentyűzet események java swing és más Java

Amikor dolgozik egy alkalmazás, amely grafikus felhasználói interfész, a felhasználó üdülőhelyek, hogy segítsen nem csak az egér, de a billentyűzet. Java Swing lehetővé teszi az alkalmazás fejlesztő kezelni a különböző események érkezik a billentyűzetet, amikor a felhasználó megnyom egy gombot. Lássuk, mit kell tennie, hogy képes meghallgatni billentyűzet eseményeket. Ehhez figyelembe vesszük KeyListener interfész java.awt.event csomagot.







Ahogyan az a feldolgozás egyéb események, a billentyűzet esemény kezelése végrehajtásához szükséges különleges felületet, majd adjuk hozzá a kapott hallgatót érdekelt komponenst. Olyan felület, amely végre kell hajtani kezelésére a kulcsokat már említettük - ez KeyListener a java.awt.event csomagot. KeyListener három módszer: keyTyped, keyPressed és keyReleased.

Lássuk, hogyan lehet hozzáadni a hallgatót a komponens KeyListener a legegyszerűbb esetben.

Ez létrehoz egy szövegmezőbe JTextField. Ezután addKeyListener módszert ad egy névtelen hallgató, ami implementálja a módszerek KeyListener felület.
Általános szabály nem mindig végre kell hajtani mind a három módszer KeyListener felület. Azonban, ha mi valósít KeyListener, kötelesek vagyunk téve a minden felület módszer, akkor is, ha azok üresek. Erre az esetre van egy speciális absztrakt osztály KeyAdapter, amely mind a három módszer, de üres módszerek keyTyped, keyPressed és keyReleased. Akkor nem lesz elég pronasledovannyj KeyAdapter és felülírják az egyetlen szükséges eljárást.







Ha nincs szükség, hogy hajtsák végre a módszerek KeyListener, megteheti:

Minden alkalommal, amikor a felhasználó megnyom egy gombot a billentyűzeten, és a rendszer kéri módszerek keyTyped, keyPressed keyReleased és ahogy elhaladtak a paraméter KeyEvent objektum, amely tartalmazza az összes szükséges információt az esemény bekövetkezett. Innen megtalálja a kulcsot kódot nyomták - getKeyCode módszer. Csapdába estek át ugyanazokat a kulcsokat, mint az Alt, Shift vagy Ctrl. Akkor jelölje be ezt hívja módszerek rendre isAltDown, isShiftDown és isControlDown. KeyEvent osztály tartalmaz egy sor állandók. Minden állandó tartalmazza a kódot a megfelelő billentyűket. Ezért nincs szükség kódokat a billentyűk. Ahhoz, hogy használni néhány állandók. A nevét a állandók könnyen meghatározni, hogy melyik gombot megfelelnek. Például KeyEvent. VK_ENTER vagy KeyEvent.VK_F.

Érdemes megemlíteni, hogy a billentyűzet eseményeket a rendszer által generált, ha a komponens, amit hallgatni, van a fókuszban.

Nézzük meg egy teszt.

Keylistener - kezelő billentyűzet események java swing és más Java

Itt van egy feldolgozó Billentyûk alkatrész JPanel. Általában az alapértelmezett JPanel nem kap hangsúlyt, de akkor létrehozhat egyet, ha tényleg szeretné, segítségével setFocusable módszer, és adja át igaz ez a módszer, mint a paraméter.