Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


TRATAREA EVENIMENTELOR DE ACTIUNE

java



+ Font mai mare | - Font mai mic



TRATAREA EVENIMENTELOR DE ACTIUNE

Pentru a intercepta un astfel de eveniment se defineste in applet o metoda action(), cu semnatura:

public boolean action(Event evt, Object arg)

Aceasta metoda action(), ca si metodele de tratare a evenimentelor de mouse sau tastatura, primeste ca argument un obiect ce se refera la evenimentul respectiv ; ea primeste si un al doilea argument, un obiect ce poate fi de orice tip.Tipul acestui al doilea argument e dat de componenta interfetei care a generat actiunea.Mai jos avem prezentate argumentele suplimentare pentru fiecare tip de componenta:



Componenta

Tipul argumentului

semnificatia

butoane

String

eticheta butonului

casete de validare

Boolean

totdeauna true

butoane radio

Boolean

totdeauna true

meniuri de optiuni

String

eticheta elementului selectat

campuri de text

String

textul din cadrul campului

In metoda action() primul lucru facut este testarea componentei care a generat actiunea.Obiectul Event pe care il primim ca argument in apelul action() contine o variabila de instanta numita target, care contine o referinta catre obiectul ce a generat evenimentul.Putem folosi operatorul instanceof pentru a afla ce componenta a generat evenimentul, ca in exemplul de mai jos:

public boolean action(Event evt, Object arg)

In exemplul anterior metoda action putea fi generata de o componenta TextField sau de un meniu de optiuni.

Metoda action() returneaza o valoare booleana, true daca va trata evenimentul si false in caz contrar.

In cazul in care avem mai multe componente din aceeasi clasa - de exemplu butoane - pot apare unele probleme.Toate pot genera actiuni si toate sunt instante ale aceleiasi clase Button.Aici apare utilizarea argumentului suplimentar:folosind comparatii simple de siruri, putem folosi etichete, elemente sau continutul componentei pentru a determina care dintre ele a generat evenimentul.

Un exemplu de astfel de solutie apare in continuare:

public boolean action(Event evt, Object obj)

}

In cazul casetelor de validare sau al butoanelor radio argumentul suplimentar este totdeauna true si nu ne ajuta la diferentiere componentelor.In general nu se prea reactioneaza direct la activarea unei casete de validare sau la apasarea unui buton radio, acestea fiind de obicei selectate si abia apoi valorile lor sunt testate in alt loc, de obicei dupa apasarea unui buton.Daca vrem totusi ca programul sa reactioneze direct la evenimentele amintite putem folosi in locul argumentului suplimentar metoda getLabel() pentru a extrage eticheta casetei de validare si a diferentia astfel intre ele componentele de acest tip.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 987
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved