MouseTracker

Download: jar file

See

Demonstration

MouseTracker.java


001: // MouseTracker.java
002: // Demonstrating mouse events.
003: 
004: import java.awt.*;
005: import java.awt.event.*;
006: import javax.swing.*;
007: 
008: 
009: 
010: class MouseTrackerPanel extends JPanel
011:              implements MouseListener, MouseMotionListener {
012:    JLabel statusBar;
013: 
014:    public MouseTrackerPanel()
015:    {
016:        statusBar = new JLabel();
017:     
018:       // application listens to its own mouse events
019:       addMouseListener( this );
020:       addMouseMotionListener( this );
021:    }
022: 
023:    // MouseListener event handlers
024:    public void mouseClicked( MouseEvent e )
025:    {
026:       statusBar.setText( "Clicked at [" + e.getX() +
027:                          ", " + e.getY() + "]" );
028:    }
029: 
030:    public void mousePressed( MouseEvent e )
031:    {
032:       statusBar.setText( "Pressed at [" + e.getX() +
033:                          ", " + e.getY() + "]" );
034:    }
035: 
036:    public void mouseReleased( MouseEvent e )
037:    {
038:       statusBar.setText( "Released at [" + e.getX() +
039:                          ", " + e.getY() + "]" );
040:    }
041: 
042:    public void mouseEntered( MouseEvent e )
043:    {
044:       statusBar.setText( "Mouse in window" );
045:    }
046: 
047:    public void mouseExited( MouseEvent e )
048:    {
049:       statusBar.setText( "Mouse outside window" );
050:    }
051: 
052:    // MouseMotionListener event handlers
053:    public void mouseDragged( MouseEvent e )
054:    {
055:       statusBar.setText( "Dragged at [" + e.getX() +
056:                          ", " + e.getY() + "]" );
057:    }
058: 
059:    public void mouseMoved( MouseEvent e )
060:    {
061:        statusBar.setText( "Moved at [" + e.getX() +
062:                           ", " + e.getY() + "]" );
063:    }
064: }
065: 
066: class mainThread implements Runnable
067: {
068:     public void run()
069:     {
070:         MouseTrackerPanel panel = new MouseTrackerPanel();
071:         JFrame frame = new JFrame("Demonstrating Mouse Events" );
072:         frame.add(panel);
073:         frame.add(panel.statusBar,BorderLayout.SOUTH);
074:         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
075:         frame.setSize( 300, 120 );
076:         frame.setVisible(true);
077:     }
078: }
079: 
080: 
081: public class MouseTracker extends JApplet
082: {
083:     public void init()
084:     {
085:         EventQueue.invokeLater(new Runnable()
086:         {
087:             public void run()
088:             {
089:                 MouseTrackerPanel panel = new MouseTrackerPanel();
090:                 add(panel);
091:                 add(panel.statusBar,BorderLayout.SOUTH);
092:             }
093:         });
094:     }
095: 
096:    public static void main( String args[] )
097:    {
098:        EventQueue.invokeLater(new mainThread());
099:    }
100: }


Maintained by John Loomis, updated Wed Mar 12 14:21:25 2008