gestione centrale degli eventi da mouse


da inserire:
import java.awt.event.*;


sintassi
implementa interfaccia MouseListener e MouseMotionListener
implements MouseListener, MouseMotionListener


setta intercetta mouse
oggetto.addMouseListener(this);
oggetto.addMouseMotionListener(this);


metodo in cui si gestiscono gli eventi



esempio: area text che scrive quello che fa il mouse
import javax.swing.*;
import java.awt.event.*;


public class FormMouseEvent extends JFrame implements MouseListener, MouseMotionListener
{

// variabili
int x;
int y;
int drapx;
int drapy;


// componenti
JPanel pnl = new JPanel(); // aggiugi un pannello in cui inserire i vari componenti
JTextArea textArea = new JTextArea(8,38); // area testo


public static void main(String[] args)
{
FormMouseEvent form = new FormMouseEvent(); // avvia il form Nome_Form
}


// costruttore e settaggi del Form Nome_Form
public FormMouseEvent()
{
super("Titolo Form"); // titolo del Form
setSize(500 , 200); // dimensioni (ex. 500,200)
setDefaultCloseOperation(EXIT_ON_CLOSE); // operazione da eseguire dei default (metti sempre questa)
setVisible(true); // visualizza


// cattura eventi mouse
textArea.addMouseListener(this);
textArea.addMouseMotionListener(this);


// inserisci componenti
pnl.add(textArea);
add(pnl); // aggiungi pannello
}


// eventi mouse MouseListener
@Override
public void mouseClicked(MouseEvent event) // click sinistro rilasciato senza movimento del mouse
{
textArea.append("\nclick rilascio mouse");
}

@Override
public void mousePressed(MouseEvent event) // click sinistro del mouse
{
textArea.append("\nclick mouse a X: " + x + " - Y: " + y);
}

@Override
public void mouseReleased(MouseEvent event) // click sinistro rilasciato del mouse
{
textArea.append("\nclick rilascio mouse a X: " + drapx + " - Y: " + drapy);
}

@Override
public void mouseEntered(MouseEvent event) // mouse va sopra/dentro il componente
{
textArea.setText("mouse dentro");
}

@Override
public void mouseExited(MouseEvent event) // mouse va fuori dal componente
{
textArea.setText("mouse fuori");
}


// eventi mouse MouseMotionListener
@Override
public void mouseDragged(MouseEvent event) // mouse si muove dentro con il tasto premuto
{
drapx = event.getX();
drapy = event.getY();
}

@Override
public void mouseMoved(MouseEvent event) // mouse si muove dentro senza il tasto premuto
{
x = event.getX();
y = event.getY();
}
}