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
event.getX(); restutisce la posizione in base asse x}
event.getY(); restutisce la posizione in base asse y
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();