import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; /** * Our canvas */ public class Canvas extends JPanel implements MouseListener { public Canvas () { setBorder (new LineBorder(Color.BLUE)); addMouseListener (this); } public void paintComponent (Graphics g) { //*1 Use "global" data in Main class super.paintComponent(g); // Always supposed to do this first Graphics2D g2 = (Graphics2D) g; if (Main.filled) g2.fill (Main.square); //*1 else g2.draw (Main.square); //*1 } /** 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) {} }