/* * Drawing in a Canvas * RIGHT WAY -- Does drawing in a callback */ import java.awt.*; //*4 Can import whole packages this way import javax.swing.*; //*4 public class Main extends JFrame { public static void main (String [] args) { java.awt.EventQueue.invokeLater (new Runnable() { public void run() { new Main (); } }); } public Main () { // Window setup setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); setSize (300, 300); // Put a Canvas in Canvas canvas = new Canvas (); //*1 Create a canvas and put in our window add (canvas); //*1 // Show the window setVisible (true); //*3 Automatically triggers an initial first "repaint" // No drawing here, do it in Canvas callback //*2 No drawing here } }