Prepare this for next time: 

import javax.swing.*;
import java.awt.*; 
import java.awt.event.*;
 

class Kevin extends JFrame {
  Kevin() {

    JComponent m = new Micah(); 

    this.getContentPane().add( m ); 
    // Container c = this.getContentPane(); c.add( m ); 
    // http://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html

    m.addMouseMotionListener( (MouseMotionListener) m ); 
    m.addMouseListener( (MouseListener) m ); 

    this.setVisible(true); 
    this.setSize(400, 500); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  }
  public static void main(String[] args) {
    JFrame j = new Kevin(); 
  } 
}

class Micah extends JComponent implements MouseMotionListener, MouseListener {
  
  public void paintComponent(Graphics g) { 
    // http://docs.oracle.com/javase/6/docs/api/java/awt/Graphics.html#drawString%28java.lang.String,%20int,%20int%29
    g.drawString("Here I am as a component.", 150, 100); 
  } 
  public void mouseMoved(MouseEvent e) {  }
  public void mouseDragged(MouseEvent e) { }
  public void mouseClicked(MouseEvent e) { }
  public void mousePressed(MouseEvent e) { }
  public void mouseReleased(MouseEvent e) { }
  public void mouseEntered(MouseEvent e) { 
    System.out.println("Hello."); 
  }
  public void mouseExited(MouseEvent e) { 
    System.out.println("Bye."); 
  }

}

Here's a small modification to it: 

import javax.swing.*;
import java.awt.*; 
import java.awt.event.*;
 

class Kevin extends JFrame {
  Kevin() {

    JComponent m = new Micah(); 

    this.getContentPane().add( m ); 
    // Container c = this.getContentPane(); c.add( m ); 
    // http://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html

    m.addMouseMotionListener( (MouseMotionListener) m ); 
    m.addMouseListener( (MouseListener) m ); 

    this.setVisible(true); 
    this.setSize(400, 500); 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  }
  public static void main(String[] args) {
    JFrame j = new Kevin(); 
  } 
}

class Micah extends JComponent implements MouseMotionListener, MouseListener {
  
  public void paintComponent(Graphics g) { 

  } 

  public void mouseMoved(MouseEvent e) {  }
  public void mouseDragged(MouseEvent e) { }
  public void mouseClicked(MouseEvent e) { }

  public void mousePressed(MouseEvent e) { 
    int x = e.getX(); 
    int y = e.getY(); 
    // System.out.println( e );         
    System.out.println( "(" + x + ", " + y + ")" ); 
  }

  public void mouseReleased(MouseEvent e) { }
  public void mouseEntered(MouseEvent e) { 
    System.out.println("Hello."); 
  }
  public void mouseExited(MouseEvent e) { 
    System.out.println("Bye."); 
  }

}

See you on Thu. 

--