A complete menu
public class MyFrame extends Frame {
MyFrame()
{
CreateMenu();
}
public boolean action(Event evt, Object what) {
if (evt.target instanceof MenuButton) {
return ((MenuButton) evt.target).action(evt, what);
} else {
return super.action(evt, what);
}
}
private void CreateMenu()
{
MenuBar mb = new MenuBar();
Menu fileB = new Menu("File");
mb.add(fileB);
fileB.add(new NewButton("New"));
fileB.add(new QuitButton("Quit"));
Menu editB = new Menu("Edit");
mb.add(editB);
setMenuBar(mb);
pack();
}
}
class MenuButton extends MenuItem {
MenuButton(String name) {
super(name);
}
public boolean action(Event evt, Object what) {
return false;
}
}
class QuitButton extends MenuButton {
QuitButton(String name) {
super(name);
}
public boolean action(Event evt, Object what) {
exit();
return true;
}
}
class NewButton extends MenuButton {
NewButton(String name) {
super(name);
}
public boolean action(Event evt, Object what) {
System.out.println("New selected");
return true;
}
}
Slide 59