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;
}
}