Menú y barra de herramientas

Creando Menús y Barras de Herramientas en Java Swing

Imagina que estás construyendo un restaurante. La barra de menú sería el cartel que muestra las diferentes secciones de comida, y cada menú sería una lista de opciones dentro de cada sección. En Java Swing, estos elementos nos permiten organizar las funcionalidades de nuestra aplicación de una manera lógica y accesible para el usuario.

Componentes Clave:

  • JMenuBar: Representa la barra de menú en la parte superior de la ventana.
  • JMenu: Cada menú que aparece en la barra de menú.
  • JMenuItem: Las opciones individuales dentro de cada menú.

Pasos a seguir:

  1. Importar las clases necesarias:

    Java
    import javax.swing.*;
    
  2. Crear un JFrame:

    Java
    JFrame frame = new JFrame("Mi Aplicación");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
  3. Crear una JMenuBar:

    Java
    JMenuBar menuBar = new JMenuBar();
    frame.setJMenuBar(menuBar);
    
  4. Crear JMenus y JMenuItems:

    Java
    JMenu archivoMenu = new JMenu("Archivo");
    JMenuItem nuevoItem = new JMenuItem("Nuevo");
    JMenuItem abrirItem = new JMenuItem("Abrir");
    archivoMenu.add(nuevoItem);
    archivoMenu.add(abrirItem);
    menuBar.add(archivoMenu);
    
  5. Agregar la barra de menú al JFrame:

    Java
    frame.setJMenuBar(menuBar);
    
  6. Asociar acciones a los elementos del menú: Puedes usar ActionListener para definir qué sucede cuando el usuario selecciona un elemento del menú.

    Java
    nuevoItem.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            // Acción a realizar cuando se selecciona "Nuevo"
            System.out.println("Se ha seleccionado Nuevo");
        }
    });
    

Ejemplo completo:

Java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MiAplicacionConMenu {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Mi Aplicación");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   

        JMenuBar menuBar = new JMenuBar();
        frame.setJMenuBar(menuBar);

        JMenu archivoMenu = new JMenu("Archivo");
        JMenuItem nuevoItem = new JMenuItem("Nuevo");
        JMenuItem abrirItem = new JMenuItem("Abrir");
        archivoMenu.add(nuevoItem);
        archivoMenu.add(abrirItem);
        menuBar.add(archivoMenu);

        // ... más menús y elementos

        nuevoItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                // Acción a realizar cuando se selecciona "Nuevo"
                System.out.println("Se ha seleccionado Nuevo");
            }
        });

        frame.setSize(400, 300);
        frame.setVisible(true);
    }
}

Barras de Herramientas

Las barras de herramientas son similares a los menús, pero se colocan generalmente debajo de la barra de menú o a los lados de la ventana. Para crear una barra de herramientas, utiliza JToolBar y agrega botones a ella.

Java
JToolBar toolBar = new JToolBar();
JButton botonNuevo = new JButton("Nuevo");
toolBar.add(botonNuevo);
frame.add(toolBar, BorderLayout.NORTH);

Asociando Acciones a un JButton en un JToolBar

Para lograr esto, utilizaremos los listeners en Java. Un listener es un objeto que "escucha" eventos, como un clic en un botón. Cuando ocurre el evento, el listener ejecuta un método específico.

Pasos a seguir:

  1. Crear un ActionListener: Esta interfaz define un método llamado actionPerformed que se ejecutará cuando el botón sea presionado.

  2. Implementar el ActionListener: Crea una clase que implemente la interfaz ActionListener y sobrescribe el método actionPerformed. Dentro de este método, coloca el código que deseas que se ejecute al hacer clic en el botón.

  3. Asociar el ActionListener al JButton: Utiliza el método addActionListener del JButton para asociar el listener que creaste.

Ejemplo:

Java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MiAplicacion {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Mi Aplicación");
        JToolBar toolBar = new JToolBar();

        JButton botonGuardar = new JButton("Guardar");
        botonGuardar.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e)    {
                // Código que se ejecutará al hacer clic en el botón
                System.out.println("Se ha hecho clic en el botón Guardar");
                // Aquí puedes agregar tu lógica para guardar los datos
            }
        });

        toolBar.add(botonGuardar);
        frame.add(toolBar, BorderLayout.NORTH);

        frame.pack();
        frame.setVisible(true);
    }
}

Explicación:

  • ActionListener anónimo: En este ejemplo, creamos un ActionListener anónimo directamente dentro del método addActionListener.
  • Método actionPerformed: Dentro de este método, imprimimos un mensaje en la consola para indicar que se ha hecho clic en el botón. Aquí reemplazarías este mensaje con la lógica real que deseas ejecutar, como guardar datos en un archivo, mostrar un diálogo, etc.


Comentarios

Entradas más populares de este blog

JTextField

JFrame

JCheckBox