Pentru ascultarea evenimentelor de mouse se folosesc interfețele java.awt.event.MouseListener,java.awt.event.MouseMotionListener
și javax.swing.event.MouseInputListener. Ascultătoarele de mouse
se pot obține, de asemenea, prin extinderea claselor java.awt.event.MouseAdapter,java.awt.event.MouseMotionAdapter
și javax.swing.event.MouseInputAdapter.
În AWT se face distincție între evenimentele de mouse
discrete și evenimentele care caracterizează mișcarea continuă a
mouse-lui. a/ Evenimente de mouse - a fost apăsat un buton al mouse-ului (MOUSE_PRESSED); - a fost eliberat un buton al mouse-ului (MOUSE_RELEASED); - s-a făcut click de mouse, adică un buton al acestuia a fost apăsat și eliberat imediat (MOUSE_CLICKED); - cursorul mouse-ului a intrat într-o componentă (MOUSE_ENTERED); - cursorul mouse-ului a ieșit din componentă (MOUSE_EXITED). Ascultarea acestor evenimente se face cu instanțe ale claselor care implementeaza interfața java.awt.event.MouseListener. b/ Evenimente de mișcare a mouse-ului - mouse-ul s-a mișcat pe suprafața componentei (MOUSE_MOVED); - mouse-ul a fost "tras" pe suprafața componentei, adică a fost mișcat ținând un buton apăsat (MOUSE_DRAGGED). Aceste evenimente sunt ascultate cu instanțe ale claselor care implementează interfața java.awt.event.MouseMotionListener. În JFC/Swing s-a introdus în plus interfața javax.swing.event.MouseInputListener, care ascultă ambele categorii de evenimente de mouse, moștenind cele două interfețe menționate mai sus. |
Exemplu În fișierul EvMouse.java este dat un exemplu de aplicație în care se ascultă evenimentele de mouse generate de o instanță a clasei JFrame și se afișează la terminal conținutul acestor evenimente. În acest scop, în clasa imbricată AMouse au fost implementate toate metodele interfeței MouseListener, dar aceste metode nu fac altceva, decât să afișeze la terminal evenimentul recepționat.
Executând acest program, putem urmări pe ecran succesiunea de
evenimente care se produc atunci când acționăm cu mouse-ul asupra
ferestrei aplicației.
|