Rawbutton: Canvas.java

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

/**
 * Our job is just to catch the callbacks and send them to Main
 */
public class Canvas extends JPanel implements MouseListener {
    private Main parent;

    public Canvas (Main parent) {
	this.parent = parent;
	addMouseListener (this);
    }

    public void paintComponent (Graphics g) {
	super.paintComponent(g);
	parent.draw(g);
    }

    public void mousePressed (MouseEvent event) {
	parent.domouse (event);
    }

    /**
     * Remaining required MouseListener methods
     */
    public void mouseClicked (MouseEvent event) {}
    public void mouseReleased (MouseEvent event) {}
    public void mouseEntered (MouseEvent event) {}
    public void mouseExited (MouseEvent event) {}
}
[download file]