FrameTst.java

import java.awt.*;
import java.applet.Applet;

public class FrameTst extends Applet {
    MyFrame_2 w;
    Button btnOpen,btnClose;
    Graphics g;

    public void init() {
        add(btnOpen=new Button("Open Frame"));
        add(btnClose=new Button("Close Frame"));
    }


    public boolean action(Event e, Object o) {
        if (e.target instanceof Button) {
            if (e.target==btnOpen) {
                w=new MyFrame_2("New Frame");
                g=w.init();
                g.drawOval(70,70,200,200);
            }
            else if (e.target==btnClose)
                w.dispose();
        }
        return true;
    }
    public void stop() {
        if (w!=null) {
            w.dispose();
        }
    }
}

MyFrame_2クラス

class MyFrame_2 extends Frame {
    int RectFlg=0,CircFlg=0;
    public MyFrame_2 (String t) {
        setTitle(t);
    }
    public Graphics init() {
        MenuBar mb=new MenuBar();
        Menu mDraw=new Menu("Draw");
        mDraw.add(new MenuItem("Circle"));
        mDraw.add(new MenuItem("Rectangle"));
        mDraw.addSeparator();
        mDraw.add(new MenuItem("Clear"));
        mDraw.addSeparator();
        mDraw.add(new MenuItem("Exit"));
        mb.add(mDraw);

        Menu mColor=new Menu("Color");
        mColor.add(new MenuItem("白"));
        mColor.add(new MenuItem("黄"));
        mColor.add(new MenuItem("青"));
        mColor.add(new MenuItem("緑"));
        mColor.add(new MenuItem("赤"));
        mColor.add(new MenuItem("黒"));
        mb.add(mColor);

//        Menu mExit=new Menu("Exit");
//        mb.add(mExit);
//        mb.add((Menu)(new MenuItem("Exit")));

        setMenuBar(mb);

        setBackground(Color.black);
        setForeground(Color.white);
        show();
        repaint();
        return getGraphics();
    }
    public void paint(Graphics g) {
        g.drawString("New Frame was appeared!!",50,100);
        if (RectFlg==1)
            g.drawRect(70,70,200,200);
        if (CircFlg==1)
            g.drawOval(70,70,200,200);
    }
    public boolean action(Event e, Object o) {
        Graphics g=getGraphics();
        if ("Circle".equals((String)o)) {
            CircFlg=1;
            RectFlg=0;
        } else if ("Rectangle".equals((String)o)) {
            CircFlg=0;
            RectFlg=1;
        } else if ("Clear".equals((String)o)) {
            RectFlg=CircFlg=0;
        } else if ("Exit".equals((String)o)) {
            dispose();
        } else if ("白".equals((String)o)) {
            setForeground(Color.white);
        } else if ("黄".equals((String)o)) {
            setForeground(Color.yellow);
        } else if ("青".equals((String)o)) {
            setForeground(Color.blue);
        } else if ("緑".equals((String)o)) {
            setForeground(Color.green);
        } else if ("赤".equals((String)o)) {
            setForeground(Color.red);
        } else if ("黒".equals((String)o)) {
            setForeground(Color.black);
        }
        repaint();
        return true;
    }
}