Download: jar file
See
MouseTracker.java001: // 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