// Fig. 10.22: MouseDetails.java // Demonstrating mouse clicks and distinguishing mouse buttons. import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class MouseDetails extends Applet { private String s = ""; private int xPos, yPos; public void init() { addMouseListener( new DetailHandler( this ) ); } public void paint( Graphics g ) { g.drawString( "Clicked @ [" + xPos + ", " + yPos + "]", xPos, yPos ); } public void setCoordinates( int x, int y ) { xPos = x; yPos = y; repaint(); } } class DetailHandler extends MouseAdapter { private MouseDetails details; public DetailHandler( MouseDetails m ) { details = m; } public void mouseClicked( MouseEvent e ) { details.setCoordinates( e.getX(), e.getY() ); String s = "Clicked " + e.getClickCount() + " time(s)"; if ( e.isMetaDown() ) // Right mouse button s += " with right mouse button"; else if ( e.isAltDown() ) // Middle mouse button s += " with center mouse button"; else // Left mouse button s += " with left mouse button"; details.showStatus( s ); } }