Sunteți pe pagina 1din 3

Utilizarea mouse-ului

Utilizarea mouse-ului
In Java, micarea sau acionarea unui buton al mouse-ului pe suprafaa unei componente
genereaz evenimente de un tip special. Spre deosebire de multe alte limbaje de programare, n
Java nu se face distincie ntre butoanele mouse-ului, aceasta pentru a realiza independena de
platform i de numrul butoanelor mouse-ului recunoscute , care poate ! diferit de la o platform
la alta. Interceptarea i utilizarea acestor evenimente se realizeaz prin intermediul clasei
"ouse#vent
$lasa "ouse#vent
%intre metodele mai des utilizate amintim &
int get$lic'$ount( )
*eturneaz de c+te ori a fost acionat un buton al mouse-ului
java.a,t.-oint get-oint( )
*eturneaz coordonatele punctului de pe suprafaa componentei la care se gsete
mouse-ul
boolean is-opup.rigger( )
Speci!c dac evenimentul este asociat cu apariia unui menu popup
int get/( )
int get0( )
In mod uzual, pentru ca evenimente referitoare la mouse generate de o component s !e
interceptate, trebuie s e1iste un obiect receptor, care s se nregistreze ca listener la componenta
care genereaz evenimentele. Un astfel de obiect receptor trebuie s implementeze interfeele &
"ouse2istener
"ouse"otion2istener
%e asemenea, obiectul receptor trebuie s se nregistreze la componenta productoare de
evenimente prin metodele &
add"ouse2istener("ouse2istener I)
add"ouse"otion2istener("ouse"otion2istener I)
%e!niia interfeei "ouse2istener
public interface MouseListener extends java.util.EventListener
3
44 "etode
public void mouse$lic'ed( java.a,t.event."ouse#vent e )5
public void mouse-ressed( java.a,t.event."ouse#vent e )5
public void mouse*eleased( java.a,t.event."ouse#vent e )5
public void mouse#ntered( java.a,t.event."ouse#vent e )5
public void mouse#1ited( java.a,t.event."ouse#vent e )5
6
%e!niia interfeei "ouse"otion2istener
public interface MouseMotionListener extends java.util.EventListener
3
44 "etode
public void mouse%ragged( java.a,t.event."ouse#vent e )5
public void mouse"oved( java.a,t.event."ouse#vent e )5
6
7adar, structura general a unei componente care genereaz evenimente referitoare la mouse
care necesit prelucrare este &
class $omponenta 3
44...
1
Utilizarea mouse-ului
*eceptor r 8 ne, *eceptor()5
t9is.add"ouse2istener(r)5
t9is.add"ouse"otion2istener(r)5
44...
6
class *eceptor implements "ouse2istener, "ouse"otion2istener 3
44...
44"etodele interfetei "ouse2istener
44...
44"etodele interfetei "ouse"otion2istener
44...
6
#1emplu &
la apsarea mouse-ului & deseneaz un cerc
la eliberare & deseneaz un ptrat
la e1ecutarea operaiei drag & deseneaz traiectoria mouse-ului
import java.a,t.:5
import java.a,t.event.:5
public class .est"ouse 3
public static void main(String args) 3
;ereastra f 8 ne, ;ereastra(<.est "ouse<)5
%esen d 8 ne, %esen()5
d.setSize(ne, %imension(=>>, =>>))5
f.add(d)5
f.pac'()5
f.s9o,()5
6
6
class %esen e1tends $anvas implements "ouse2istener, "ouse"otion2istener 3
-oint prev5
public %esen() 3
t9is.add"ouse2istener(t9is)5
t9is.add"ouse"otion2istener(t9is)5
6
public void paint(?rap9ics g) 36
44metodele interfetei "ouse2istener
public void mouse$lic'ed("ouse#vent e) 36
public void mouse-ressed("ouse#vent e) 3
prev 8 e.get-oint()5
int 1 8 (e.get-oint()).15
int @ 8 (e.get-oint()).@5
?rap9ics g 8 get?rap9ics()5
g.dra,Aval(1-B, @-B, C>, C>)5
set$ursor($ursor.get-rede!ned$ursor($ursor."AD#E$U*SA*))5
6
public void mouse*eleased("ouse#vent e) 3
int 1 8 (e.get-oint()).15
int @ 8 (e.get-oint()).@5
?rap9ics g 8 get?rap9ics()5
g.dra,*ect(1-B, @-B, C>, C>)5
set$ursor($ursor.get-rede!ned$ursor($ursor.%#;7U2.E$U*SA*))5
6
2
Utilizarea mouse-ului
public void mouse#ntered("ouse#vent e) 36
public void mouse#1ited("ouse#vent e) 36
44metodele interefetei "ouse"otion2istener
public void mouse%ragged("ouse#vent e) 3
int 1C 8 prev.15
int @C 8 prev.@5
int 1F 8 (e.get-oint()).15
int @F 8 (e.get-oint()).@5
prev 8 e.get-oint()5
?rap9ics g 8 get?rap9ics()5
g.dra,2ine(1C, @C, 1F, @F)5
6
public void mouse"oved("ouse#vent e) 36
6
class ;ereastra e1tends ;rame implements Gindo,2istener 3
public ;ereastra(String titlu) 3
super(titlu)5
t9is.addGindo,2istener(t9is)5
6
44metodele interfetei Gindo,2istener
public void ,indo,Apened(Gindo,#vent e) 36
public void ,indo,$losing(Gindo,#vent e) 3S@stem.e1it(>)56
public void ,indo,$losed(Gindo,#vent e) 36
public void ,indo,%eiconi!ed(Gindo,#vent e) 36
public void ,indo,Iconi!ed(Gindo,#vent e) 36
public void ,indo,7ctivated(Gindo,#vent e) 36
public void ,indo,%eactivated(Gindo,#vent e) 36
6
3