import javax.swing.*; 
import java.awt.*;
import java.awt.event.*;
class Mouse extends JFrame
{	public class AscoltatoreM implements MouseListener
	{	private String qualeBottone(MouseEvent e)
		{	if(SwingUtilities.isLeftMouseButton(e))
					return "Bottone sinistro";
			if(SwingUtilities.isRightMouseButton(e))
					return "Bottone destro";
			if(SwingUtilities.isMiddleMouseButton(e))
					return "Bottone centrale";
			return "Bottone sconosciuto";
		}
		public void mouseClicked(MouseEvent e)
		{	Console.scriviStringa(qualeBottone(e) + 
				" click: (X, Y) = (" + e.getX() + ", " +
				e.getY() + ")" );
		}
		public void mousePressed(MouseEvent e)
		{	Console.scriviStringa
					(qualeBottone(e) + " premuto");}
		public void mouseReleased(MouseEvent e)
		{	Console.scriviStringa
					(qualeBottone(e) + " rilasciato");}
		public void mouseEntered(MouseEvent e)
		{	Console.scriviStringa("Ingresso");	}
		public void mouseExited(MouseEvent e)
		{	Console.scriviStringa("Uscita");	}
	}
	Mouse(String s)
	{	super(s);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		AscoltatoreM asc = new AscoltatoreM();
		addMouseListener(asc);
		// il metodo viene applicato a un oggetto Mouse
	}
}

public class ProvaMouse
{	public static void main(String[] args)
	{	Mouse ff = new Mouse("Mouse");
		ff.setSize(200, 100);
		ff.setVisible(true);
	}
}
