Chestii-tari - tutoriale,trucuri si distractie doar aici

Va rugam sa va logati pentru a putea cedea link-urile din post-uri!

Multumim

Chestii-tari.hitforum.ro va indeamna sa gasiti ceea ce cautati!

Creeaza-ti propriul server de ikariam ,gladiatus ,triburile sau travian...mai multe informatii gasiti pe acest forum! Have a Smile) day!

    Java-utilizarea mouse-ului

    Distribuiţi
    avatar
    Admin
    Admin

    Mesaje : 215
    galbeni : 603
    Reputatie : 0
    Data de inscriere : 17/11/2011

    Java-utilizarea mouse-ului

    Mesaj  Admin la data de Dum Feb 24, 2013 7:03 am


    Utilizarea mouse-ului

    In Java, mi[carea sau ac]ionarea unui buton al mouse-ului pe suprafa]a unei componente genereaz\ evenimente de un tip special. Spre deosebire de multe alte limbaje de programare, în Java nu se face distinc]ie între butoanele mouse-ului, aceasta pentru a realiza independen]a de platform\ [i de num\rul butoanelor mouse-ului recunoscute , care poate fi diferit de la o platform\ la alta. Interceptarea [i utilizarea acestor evenimente se realizeaz\ prin intermediul clasei MouseEvent


    Clasa MouseEvent

    Dintre metodele mai des utilizate amintim :

    int getClickCount( )

    Returneaz\ de câte ori a fost ac]ionat un buton al mouse-ului

    java.awt.Point getPoint( )

    Returneaz\ coordonatele punctului de pe suprafa]a componentei la care se g\se[te

    mouse-ul

    boolean isPopupTrigger( )

    Specific\ dac\ evenimentul este asociat cu apari]ia unui menu popup

    int getX( )

    int getY( )

    In mod uzual, pentru ca evenimente referitoare la mouse generate de o component\ s\ fie interceptate, trebuie s\ existe un obiect receptor, care s\ se înregistreze ca listener la componenta care genereaz\ evenimentele. Un astfel de obiect receptor trebuie s\ implementeze interfe]ele :

    MouseListener

    MouseMotionListener

    De asemenea, obiectul receptor trebuie s\ se înregistreze la componenta produc\toare de evenimente prin metodele :

    addMouseListener(MouseListener I)

    addMouseMotionListener(MouseMotionListener I)

    Defini]ia interfe]ei 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 );

    }

    Defini]ia interfe]ei MouseMotionListener


    public interface MouseMotionListener extends java.util.EventListener

    {

    // Metode

    public void mouseDragged( java.awt.event.MouseEvent e );

    public void mouseMoved( java.awt.event.MouseEvent e );

    }

    A[adar, structura general\ a unei componente care genereaz\ evenimente referitoare la mouse care necesit\ 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 ap\sarea mouse-ului : deseneaz\ un cerc

    la eliberare : deseneaz\ un p\trat

    la executarea opera]iei drag : deseneaz\ traiectoria mouse-ului

    import java.awt.*;

    import java.awt.event.*;

    public class TestMouse {

    public static void main(String args[]) {

    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) {}

    }




      Acum este: Joi Oct 19, 2017 10:42 pm