// Fig. 11.4: MyCanvas.java // Using a customized Canvas object. import java.applet.Applet; import java.awt.*; public class MyCanvas extends Applet { private Panel p; private CustomCanvas c; private Button circle, square; public void init() { c = new CustomCanvas(); // instantiate canvas c.setBackground( Color.green ); square = new Button( "Square" ); square.addActionListener( new ButtonHandler( c, CustomCanvas.SQUARE ) ); circle = new Button( "Circle" ); circle.addActionListener( new ButtonHandler( c, CustomCanvas.CIRCLE ) ); p = new Panel(); p.setLayout( new GridLayout( 2, 1 ) ); p.add( circle ); p.add( square ); setLayout( new BorderLayout() ); add( p, BorderLayout.WEST ); add( c, BorderLayout.CENTER ); // add canvas } }