Keylistener - manipularea evenimentelor de tastatură, java swing și alte java

Lucrul cu o aplicație care are o interfață grafică, utilizatorul recurge la ajutor nu numai pentru mouse, ci și pentru tastatură. Java Swing permite dezvoltatorului de aplicații să gestioneze diverse evenimente care vin de la tastatură în momentul în care utilizatorul face clic pe taste. Să vedem ce trebuie făcut pentru a putea asculta evenimentele de la tastatură. Pentru aceasta, luați în considerare interfața KeyListener din pachetul java.awt.event.







Așa cum este cazul cu prelucrarea altor evenimente, manipularea eveniment tastatura este necesară pentru a pune în aplicare o interfață specială, și apoi adăugați ascultătorul rezultat la componenta interesat. O interfață care trebuie să fie puse în aplicare pentru manipularea cheilor a fost menționat mai sus - este KeyListener pachetului java.awt.event. KeyListener are trei metode: keyTyped, keyPressed și keyReleased.

Să vedem cum puteți adăuga un ascultător KeyListener la o componentă în cel mai simplu caz.

Aici este creat câmpul text JTextField. Apoi, folosind metoda addKeyListener, se adaugă un ascultător anonim, care implementează toate metodele interfeței KeyListener.
De regulă, nu este întotdeauna necesar să implementați toate cele trei metode ale interfeței KeyListener. Cu toate acestea, dacă implementăm KeyListener, atunci trebuie să punem în aplicare metoda fiecărei interfețe, chiar dacă acestea sunt goale. Pentru acest caz, există o clasă specială abstractă KeyAdapter, care conține toate cele trei metode, dar cu metode goale keyTyped, keyPressed și keyReleased. Apoi, va fi suficient să moștenim din KeyAdapter și să suprascrim metodele necesare în el.







Dacă nu aveți nevoie să implementați toate metodele KeyListener, puteți face acest lucru:

De fiecare dată când utilizatorul apasă o tastă de pe tastatură și sistemul solicită metode keyTyped, keyPressed keyReleased și, așa cum au trecut la obiectul KeyEvent parametru care conține toate informațiile necesare despre evenimentul care a avut loc. De aici puteți afla codul cheie care a fost apăsat - metoda getKeyCode. Fie că există chei ca Alt, Shift sau Ctrl. Puteți verifica acest lucru prin apelarea unor metode, respectiv isAltDown, isShiftDown și isControlDown. Clasa KeyEvent conține un set mare de constante. Fiecare constanta contine codul cheii corespunzatoare. Prin urmare, nu este nevoie de toate codurile cheie. Este suficient să folosiți una dintre constante. Prin numele constantelor, puteți să determinați cu ușurință ce cheie corespunde. De exemplu, KeyEvent. VK_ENTER sau KeyEvent.VK_F.

Merită să spunem că evenimentele de la tastatură vor fi generate de sistem doar atunci când componenta pe care o ascultăm este în centrul atenției.

Să ne uităm acum la cazul de testare.

Keylistener - manipularea evenimentelor de tastatură, java swing și alte java

Aici, apăsările de la tastatură sunt procesate de componenta JPanel. În general, JPanel implicite nu ar trebui să se concentreze să primească, dar vă puteți crea unul, dacă doriți într-adevăr, cu ajutorul metodei setFocusable și să treacă adevărat la această metodă ca parametru.







Trimiteți-le prietenilor: