import java.awt.*;
import java.awt.event.*;
import javax.swing.JMenu;
import javax.swing.*;

public class MenuBar extends JMenuBar {

    private OpenListener oListener;
    private SaveListenerNew sListenerNew;
    private SaveListenerOld sListenerOld;
     private NewListener nListener;

    JMenu menu, submenu;
    JMenuItem menuItem;
    JRadioButtonMenuItem rbMenuItem;
    JCheckBoxMenuItem cbMenuItem;

     JFrame frame;

    /**
        Constructor de una barra de Menú. Para el caso de la aplicación construye la barra superior de menú principal. Para
        ver una imagen de lo que se refiere presione <a href="./barramenu.jpg">aquí</a>.
    */
    public MenuBar(JFrame frame, boolean es_nuevo)
    {
        super();

        /**********   listener *****************/

        oListener = new OpenListener(frame);
        sListenerNew = new SaveListenerNew(frame);
        sListenerOld = new SaveListenerOld(frame);
        nListener = new NewListener(frame);

        /*****************************************/

        this.frame = frame;

        //Build the first menu.
        menu = new JMenu("Archivo");
        menu.setMnemonic(KeyEvent.VK_R);
        menu.getAccessibleContext().setAccessibleDescription("The only menu in this program that has menu items");
        add(menu);

        //a group of JMenuItems
          menuItem = new JMenuItem("Nuevo");
        menuItem.setMnemonic(KeyEvent.VK_N);
        menuItem.addActionListener(nListener);
        menu.add(menuItem);

        menuItem = new JMenuItem("Abrir", KeyEvent.VK_A);
        menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, ActionEvent.ALT_MASK));
        menuItem.getAccessibleContext().setAccessibleDescription("This doesn't really do anything");
        menuItem.addActionListener(oListener);
        menu.add(menuItem);

        menuItem = new JMenuItem("Guardar");
        menuItem.setMnemonic(KeyEvent.VK_G);
          if(es_nuevo)
            menuItem.addActionListener(sListenerNew); //Este listener ocupa los panes 2
          if(!es_nuevo)
            menuItem.addActionListener(sListenerOld); //Este listner ocupa los panes 1

          menu.add(menuItem);
    }
}