Draw3

File: java/Draw3/Main.java

/*
 * Drawing in a Canvas
 * with mouse event callback
 * R. Jacob  9/18/2001
 */

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

public class Main extends JFrame {
    public static void main (String [] args) {
	new Main ();
    }

    public Main () {
	// Window setup
	setSize (300, 300);
	Container content = getContentPane();

	// Put a Canvas in
	MyCanvas canvas = new MyCanvas ();
	content.add (canvas);

	// Show the window
	setVisible (true);
    }
}

File: java/Draw3/MyCanvas.java

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

public class MyCanvas extends JComponent implements MouseListener {
    MyCanvas () {
	addMouseListener (this);
    }

    // This is the draw callback
    public void paintComponent (Graphics g) {
	g.drawLine (50, 50, 100, 50);
    }

    // Listener callback
    public void mousePressed (MouseEvent event) {	
	System.out.println ("Mouse down at " + event.getPoint().x + ", " + event.getPoint().y);
    }

    // MouseListener defines all of these, so we must supply them
    public void mouseClicked (MouseEvent event) {}
    public void mouseReleased (MouseEvent event) {}
    public void mouseEntered (MouseEvent event) {}
    public void mouseExited (MouseEvent event) {}
}