Documente Academic
Documente Profesional
Documente Cultură
In Java, fiecar e compo n e n t a est e gen er a t o a r e de eveni m e n t e . Printre ace s t e a se num a r a si eveni m e n t el e gen er a t e de apa s a r e a tast elor. O compo n e n t a produc e eveni m e t e referitoar e la tast a t u r a n mo m e n t ul n car e est e activa, mai bine zis n mo m e n t ul n car e est e tinta intrarii de la tast a t u r a (are InputFocus . O compo n e n t a prime s t e controlul tast a t u rii prin una din met o d el e ! apelul e"plicit al met o d ei RequestFocus() al clasi printr# un clic$ de mous e pe supr afa t a sa prin trec er e a de la o compo n e n t a la alta cu utiliz%nd tast a <Tab> (ciclare sau combin a ti a <Shift>+<Tab> (ciclar e n ordine invers a & compo n e n t a la car e se opres t e ciclar e a est e cea care va primi controlul Obs'! Ordine a n car e se face ciclar e a est e det er mi n a t a de ordine a n car e s# au ada u g a t compo n e n t e l e n cont ain e r e si cont ain er el e n fere a s t r a. (iecar e compo n e n t a are astfel asociat a o valoar e unica ! tab order Obs)! *ompon e n t el e pentr u car e met o d a boolean isFocusTraversable() retur n e a z a false sunt ignor at e n proce s ul de ciclar e prin inter m e di ul tast ei <tab> . +le pot totusi sa devina tint a intrarii de la tast a u r a prin una din celelat e doua met o d e . (olosire a eve ni m e n t el or gen er a t e de o compo n e n t a la action ar e a unor tast e se realize az a prin inter m e di ul clasei Key vent si interfet ei Key!istener" *lasa #ava"a$t"event"Key vent ,ariabile *onst a n t e prin inter m e di ul caror a sunt referit e tast el e
%K&S'(FT %K&C)*TR)! %K& *T R %K&,+CK&S-+C %K&T+, %K&C+-S&!)CK %K&+!T
Component
%K&*./&!)CK %K&S-+C %K&.%K&0)1* %K&-+2 &.- %K&-+2 &0)1* %K&F34 """4 %K&F35 %K&*./-+064 """4 %K&*./-+07 %K&+4 """4 %K&8 %K&64 """4 %K&7 99etc
%K&! FT %K&')/
%K&R(2'T %K& *0
-etod e
boolean is+ctionKey( ) char :etKeyChar( ) voi; setKeyChar( char <eyChar ) int :etKeyCo;e( ) voi; setKeyCo;e( int <eyCo;e ) static #ava"lan:"Strin: :etKey/o;ifiersTe=t( int mo;ifiers ) Returnea>a numele unui mo;ificator ? Shift4 Ctrl+Shift4 etc" static #ava"lan:"Strin: :etKeyTe=t( int <eyCo;e ) Returnea>a un sir cu numele tastei ? ')/ 4 F34 etc" voi; set/o;ifiers( int mo;ifiers )
-etod el e pe care treb ui e sa le imple m e n t e z e obiect ul rece p t or care ascult a eve ni m e n t el e produs e de apa s a r e a tast elor pentr u o anu mi t a compo n e n t a sunt specificat e de interfat a Key!istener
public interface KeyListener extends java.util.EventListener @ 99 /eto;e public voi; <eyType;( #ava"a$t"event"Key vent e )A public voi; <ey-resse;( #ava"a$t"event"Key vent e )A public voi; <eyRelease;( #ava"a$t"event"Key vent e )A B
Obs! .iferent a ntre <eyType; si <ey-resse; est e ca primul eveni m e n t est e gen er a t de apa s a r e a unei tast e urm a t a de eliber ar e a ei, n timp ce al doilea doar de apa s a r e a tast ei. /sadar, struct ur a gen er al a a unei compo n e n t e care gen er e a z a eveni m e n t e referito ar e la tast a t u r a si care nec e sit a prelucr ar e est e !
class Componenta @ 99""" Receptor r C ne$ Receptor()A this"a;;Key!istener(r)A 99""" B
$in;o$)pene;(1in;o$ vent e) @B $in;o$Closin:(1in;o$ vent e) @System"e=it(6)AB $in;o$Close;(1in;o$ vent e) @B $in;o$0eiconifie;(1in;o$ vent e) @B $in;o$(conifie;(1in;o$ vent e) @B $in;o$+ctivate;(1in;o$ vent e) @B $in;o$0eactivate;(1in;o$ vent e) @B