import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * Our canvas */ public class Canvas extends JPanel implements MouseListener { private Main parent; public Canvas (Main parent) { this.parent = parent; setBorder (new LineBorder(Color.BLUE)); addMouseListener (this); } /** We just call our parent, cause it keeps the data */ public void paintComponent (Graphics g) { super.paintComponent(g); // Always supposed to do this first parent.drawSquare (g); } /** MouseListener callbacks */ public void mousePressed (MouseEvent event) { System.out.println ("Mouse down at " + event.getPoint().x + ", " + event.getPoint().y); } public void mouseClicked (MouseEvent event) {} public void mouseReleased (MouseEvent event) {} public void mouseEntered (MouseEvent event) {} public void mouseExited (MouseEvent event) {} }