Como crear un menu en java desde cero
5 (100%) 7 votos

Hoy aprenderemos como crear un menu en java desde cero, te mostraré las líneas de código necesarias y te iré explicando paso a paso el desarrollo de este menú, dentro de esta entrada te incluyo un vídeo con la explicación y aparte en la misma entrada podrás encontrar el código de una manera más detallada.

Recién acabamos de aprender como hacer un reproductor de vídeo en java, si aun no has visto esa entrada pasa a checarla esta genial.

En esta entrada aprenderemos a hacer algo muy práctico para nuestros propios proyectos, aprenderemos a crear un menu en java desde cero, sin ayuda de algún asistente, sin generar mucho código basura y lo mejor es que como lo haremos desde cero es seguro que aprendes porque aprendes.

Dentro de este articulo podrás encontrar un vídeo explicativo donde yo voy realizando el ejemplo y a la vez te voy explicando y aparte en la misma entrada te incluyo las líneas de código necesarias para hacer el menú con su propia explicación.

Video explicativo

En el siguiente vídeo puedes ir checando el desarrollo de nuestro menú paso a paso.

Código para crear un menu en java

A continuación te incluyo el código necesario para poder crear un menu en java desde cero.

Para iniciar es necesario que heredemos nuestra clase Ventana (es la que ocupo para hacer la interfaz) de la clase  JFrame  para poder disponer de todos las funciones, métodos y variables necesarias para una interfaz gráfica.

public class Ventana extends JFrame

A continuación comenzaremos a declarar todas las variables necesarias para la creación de nuestro menú, la primer variable se ocupará para crear la barra del menú y la declaramos de la siguiente manera:

//Barra de menu
    JMenuBar barra;

Los elementos principales del menú los declararemos con las siguientes variables, para este ejemplo yo mostraré 3 opciones, Archivo, Opciones y Ayuda.

//Menus
    JMenu menu_archivo;
    JMenu menu_opciones;
    JMenu menu_ayuda;

Por último vamos a declarar cada uno de los elementos que tendrán nuestros menús:

//Elementos del menu
    JMenuItem menuItem_nuevo;
    JMenuItem menuItem_abrir;
    JMenuItem menuItem_imprimir;
    JMenuItem menuItem_configuracion;
    JMenuItem menuItem_acercade;
    JMenuItem menuItem_ayuda;

Dentro de nuestro constructor lo único que haremos será llamar al método  crearMenu que crearemos más adelante.

public Ventana(){
        crearMenu();
    }

Enseguida debemos crear el método crearMenu y lo primero que haremos dentro de el será inicializar la barra del menú.

private void crearMenu(){
        //Inicializamos la barra
        barra = new JMenuBar();

Inicializamos también los menús principales:

//Inicializamos JMenus
      menu_archivo = new JMenu("Archivo");
      menu_opciones = new JMenu("Opciones");
      menu_ayuda = new JMenu("Ayuda");

y por último inicializamos los elementos de cada menú:

//Inicializar JMenuItems
       menuItem_nuevo = new JMenuItem("Nuevo");
       menuItem_abrir = new JMenuItem("Abrir");
       menuItem_imprimir = new JMenuItem("Imprimir");
       menuItem_configuracion = new JMenuItem("Configuracion");
       menuItem_acercade = new JMenuItem("Acerca de");
       menuItem_ayuda = new JMenuItem("Ayuda");

Si deseas agregar alguna imagen a cada elemento lo haremos de la siguiente manera:

//Agregar imagen a JMenuItem
menuItem_abrir.setIcon(new ImageIcon(getClass().getResource("/resources/abrir.png")));

Ten en cuenta que con la linea anterior deberás crear un paquete llamado resources con una imagen PNG llamada abrir.

A continuación es necesario que agreguemos cada item a su respectivo menu, si deseamos agregar algún separador entre cada elemento solo llamamos el método addSeparator.

//Agregar con su respectivo menu
      menu_archivo.add(menuItem_nuevo);
      menu_archivo.addSeparator();
      menu_archivo.add(menuItem_abrir);
      menu_opciones.add(menuItem_imprimir);
      menu_opciones.addSeparator();      
      menu_opciones.add(menuItem_configuracion);
      menu_ayuda.add(menuItem_acercade);
      menu_ayuda.addSeparator();      
      menu_ayuda.add(menuItem_ayuda);

Enseguida debemos agregar los menús principales a nuestra barra de menú.

//Agregar los menus a la barra    
        barra.add(menu_archivo);
        barra.add(menu_opciones);
        barra.add(menu_ayuda);

Por último es necesario que enlacemos la barra de menú con la interfaz que estamos trabajando.

//Enlazar Barra con Interfaz
        setJMenuBar(barra);

Hasta este momento si ejecutamos el programa ya podremos ver la barra del menú con sus tres menús principales y sus respectivos elementos, pero si damos click sobre alguna de las opciones no pasara nada, para ello es necesario que programemos que evento o acción debe hacer cada elemento cuando alguien de click sobre ellos.

Para crear los eventos del menú lo haremos de la siguiente manera:

//EVENTOS DE MENU
       menuItem_nuevo.addActionListener(new ActionListener(){
           public void actionPerformed(ActionEvent evt){
               JOptionPane.showMessageDialog(Ventana.this, "Click en Nuevo", "Evento en menu", JOptionPane.OK_OPTION);
           }
       });

Si ejecutas nuevamente el programa ahora cuando des click sobre el menú Archivo -> Nuevo,  te deberia salir una pequeña ventana con el texto Click en Nuevo.

El resto de los eventos los puedes hacer de la misma manera pero con la acción que tu desees.

De esta manera concluimos este pequeño ejemplo para aprender como crear un menu en java desde cero, sin ningún asistente y sin mucho código basura, si te parecio interesante esta entrada no olvides compartirla con tus amigos.

Etiquetas: , , , , , ,

Leave a Comment