Informatica
Programare - Software - Web Design
|
Nou pe simpatie: Anne98 pe Simpatie.ro
 | Femeie 25 ani Buzau cauta Barbat 27 - 52 ani |
|
|
InformaticaInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
|
| #1 |
AdminAdministrator
Postari: 315
|
|
In Java, miscarea sau actionarea unui buton al mouse-ului pe suprafata unei componente genereaza evenimente de un tip special. Spre deosebire de multe alte limbaje de programare, in Java nu se face distinctie intre butoanele mouse-ului, aceasta pentru a realiza independenta de platforma si de numarul butoanelor mouse-ului recunoscute , care poate fi diferit de la o platforma la alta. Interceptarea si utilizarea acestor evenimente se realizeaza prin intermediul clasei MouseEvent
Clasa MouseEvent Dintre metodele mai des utilizate amintim : int getClickCount( ) Returneaza de cate ori a fost actionat un buton al mouse-ului java.awt.Point getPoint( ) Returneaza coordonatele punctului de pe suprafata componentei la care se gaseste mouse-ul boolean isPopupTrigger( ) Specifica daca evenimentul este asociat cu aparitia unui menu popup int getX( ) int getY( )
In mod uzual, pentru ca evenimente referitoare la mouse generate de o componenta sa fie interceptate, trebuie sa existe un obiect receptor, care sa se inregistreze ca listener la componenta care genereaza evenimentele. Un astfel de obiect receptor trebuie sa implementeze interfetele : • MouseListener • MouseMotionListener De asemenea, obiectul receptor trebuie sa se inregistreze la componenta producatoare de evenimente prin metodele : • addMouseListener(MouseListener I) • addMouseMotionListener(MouseMotionListener I)
Definitia interfetei MouseListener
public interface MouseListener extends java.util.EventListener { // Metode public void mouseClicked( java.awt.event.MouseEvent e ); public void mousePressed( java.awt.event.MouseEvent e ); public void mouseReleased( java.awt.event.MouseEvent e ); public void mouseEntered( java.awt.event.MouseEvent e ); public void mouseExited( java.awt.event.MouseEvent e ); }
Definitia interfetei MouseMotionListener
pbublic interface MouseMotionListener extends java.util.EventListener { // Metode public void mouseDragged( java.awt.event.MouseEvent e ); public void mouseMoved( java.awt.event.MouseEvent e ); }
Asadar, structura generala a unei componente care genereaza evenimente referitoare la mouse care necesita prelucrare este : class Componenta { //... Receptor r = new Receptor(); this.addMouseListener(r); this.addMouseMotionListener(r); //... }
class Receptor implements MouseListener, MouseMotionListener { //... //Metodele interfetei MouseListener //... //Metodele interfetei MouseMotionListener //... }
Exemplu : • la apasarea mouse-ului : deseneaza un cerc • la eliberare : deseneaza un patrat • la executarea operatiei drag : deseneaza traiectoria mouse-ului import java.awt.*; import java.awt.event.*; public class TestMouse { public static void main(String argsst) { Fereastra f = new Fereastra("Test Mouse" ; Desen d = new Desen(); d.setSize(new Dimension(400, 400)); f.add(d); f.pack(); f.show(); } } class Desen extends Canvas implements MouseListener, MouseMotionListener { Point prev; public Desen() { this.addMouseListener(this); this.addMouseMotionListener(this); }
public void paint(Graphics g) {}
//metodele interfetei MouseListener public void mouseClicked(MouseEvent e) {} public void mousePressed(MouseEvent e) { prev = e.getPoint(); int x = (e.getPoint()).x; int y = (e.getPoint()).y; Graphics g = getGraphics(); g.drawOval(x-5, y-5, 10, 10); setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); } public void mouseReleased(MouseEvent e) { int x = (e.getPoint()).x; int y = (e.getPoint()).y; Graphics g = getGraphics(); g.drawRect(x-5, y-5, 10, 10); setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {}
//metodele interefetei MouseMotionListener public void mouseDragged(MouseEvent e) { int x1 = prev.x; int y1 = prev.y; int x2 = (e.getPoint()).x; int y2 = (e.getPoint()).y; prev = e.getPoint(); Graphics g = getGraphics(); g.drawLine(x1, y1, x2, y2); } public void mouseMoved(MouseEvent e) {} }
class Fereastra extends Frame implements WindowListener { public Fereastra(String titlu) { super(titlu); this.addWindowListener(this); } //metodele interfetei WindowListener public void windowOpened(WindowEvent e) {} public void windowClosing(WindowEvent e) {System.exit(0);} public void windowClosed(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} }
|
|
| |
|