import java.awt.*;
import java.awt.event.*;


//here the ActionListeners are implemented as unnamed inner classes
public class innerCommand extends Frame
{
   Menu mnuFile;
   MenuItem mnuOpen, mnuExit;
   Button btnRed;
   Panel p;
   Frame fr;
   //-----------------------------------------
   public innerCommand()
   {
      super("Frame without commands");
      fr = this;
      MenuBar mbar = new MenuBar();
      setMenuBar(mbar);

      mnuFile = new Menu("File", true);
      mbar.add(mnuFile);

      mnuOpen = new MenuItem("Open...");
      mnuFile.add(mnuOpen);
      mnuExit = new MenuItem("Exit");
      mnuFile.add(mnuExit);

      mnuOpen.addActionListener(new ActionListener()
              {  public void actionPerformed(ActionEvent e)
                {
                FileDialog fDlg = new FileDialog(fr, "Open a file", FileDialog.LOAD);
                fDlg.show();
                }
              } );

      mnuExit.addActionListener(new ActionListener()
              {
              public void actionPerformed(ActionEvent e)
               {
               System.exit(0);
               }

               });
      
      btnRed=new Button("Red");
      p = new Panel();
      add(p);
      p.add(btnRed);

      btnRed.addActionListener(new ActionListener()
              {
              public void actionPerformed(ActionEvent e)
               {
                p.setBackground(Color.red);
               }

                              
              }  );
      setBounds(100,100,200,100);
      setVisible(true);
   }
   
   //-----------------------------------------
   static public void main(String argv[])
   {
      new innerCommand();
   }
   
}
//=====================================


