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