// Fig. 11.10: MyFrame.java
// Creating a subclass of Frame.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.deitel.jhtp2.ch11.ColorFrame;
import com.deitel.jhtp2.ch11.CloseWindowAndExit;

public class MyFrame extends Applet implements ActionListener {
   private ColorFrame f;
   private Button showFrame;

   public void init() 
   {
      showFrame = new Button( "Show frame" );
      add( showFrame );
      showFrame.addActionListener( this );

      f = new ColorFrame( "Select a color" );
   }

   public void actionPerformed( ActionEvent e )
   {
      f.setVisible( true );  // show the frame
   }

   // Allow this applet to run as an application also
   public static void main( String args[] )
   {
      // create application Frame and resize
      Frame app = new Frame( "Application" );
      app.setSize( 300, 100 );

      // register window handler to terminate application
      app.addWindowListener( new CloseWindowAndExit() );

      // create applet instance
      MyFrame m = new MyFrame();

      // initialize and start the applet
      m.init();  
      m.start();

      // add applet to center of Frame
      app.add( m, BorderLayout.CENTER );

      // display the frame (everything attached is painted)
      app.setVisible( true );
   }
}
