Extras din curs
In Java, fiecare componenta este generatoare de evenimente. Printre acestea se numara si evenimentele generate de apasarea tastelor. O componenta produce evenimete referitoare la tastatura în momentul în care este “activa”, mai bine zis în momentul în care este tinta intrarii de la tastatura (are InputFocus).
O componenta primeste controlul tastaturii prin una din metodele :
• apelul explicit al metodei RequestFocus() al clasi Component
• printr-un click de mouse pe suprafata sa
• prin trecerea de la o componenta la alta cu utilizând tasta <Tab> (ciclare) sau combinatia <Shift>+<Tab> (ciclare în ordine inversa); componenta la care se opreste ciclarea este cea care va primi controlul
Obs1: Ordinea în care se face ciclarea este determinata de ordinea în care s-au adaugat componentele în containere si containerele în fereastra. Fiecare componenta are astfel asociata o valoare unica : “tab order”
Obs2: Componentele pentru care metoda boolean isFocusTraversable() returneaza false sunt ignorate în procesul de ciclare prin intermediul tastei <tab> . Ele pot totusi sa devina tinta intrarii de la tastaura prin una din celelate doua metode.
Folosirea evenimentelor generate de o componenta la actionarea unor taste se realizeaza prin intermediul clasei KeyEvent si interfetei KeyListener.
Clasa java.awt.event.KeyEvent
Variabile
Constante prin intermediul carora sunt referite tastele
VK_SHIFT VK_CONTROL VK_ALT
VK_ENTER
VK_BACK_SPACE
VK_TAB
VK_CAPS_LOCK
VK_NUM_LOCK
VK_SPACE
VK_UP VK_DOWN VK_LEFT VK_RIGHT
VK_PAGE_UP VK_PAGE_DOWN VK_HOME VK_END
VK_F1, ..., VK_F12
VK_NUMPAD0, ..., VK_NUMPAD9
VK_A, ..., VK_Z
VK_0, ..., VK_9
//etc
Metode
boolean isActionKey( )
char getKeyChar( )
void setKeyChar( char keyChar )
int getKeyCode( )
void setKeyCode( int keyCode )
static java.lang.String getKeyModifiersText( int modifiers )
Returneaza numele unui modificator : Shift, Ctrl+Shift, etc.
static java.lang.String getKeyText( int keyCode )
Returneaza un sir cu numele tastei : HOME, F1, etc.
void setModifiers( int modifiers )
Metodele pe care trebuie sa le implementeze obiectul receptor care asculta evenimentele produse de apasarea tastelor pentru o anumita componenta sunt specificate de interfata KeyListener
public interface KeyListener extends java.util.EventListener
{
// Metode
public void keyTyped( java.awt.event.KeyEvent e );
public void keyPressed( java.awt.event.KeyEvent e );
public void keyReleased( java.awt.event.KeyEvent e );
}
Preview document
Conținut arhivă zip
- Utilizarea tastaturii in Java.doc