Crear un menú desplegable en Java

Rupam Yadav 12 octubre 2023
  1. Crear un menú desplegable usando JOptionPane en Java
  2. Crear un menú desplegable usando JComboBox en Java
Crear un menú desplegable en Java

En este tutorial, aprenderemos cómo podemos crear un menú desplegable en Java usando dos métodos. Ambas técnicas se utilizan para crear componentes GUI, y el menú desplegable es una de ellas.

Crear un menú desplegable usando JOptionPane en Java

La clase JOptionPane es parte del paquete javax.swing, que se utiliza principalmente para crear cuadros de diálogo. En los cuadros de diálogo, podemos agregar varios tipos de elementos, y uno de ellos es el componente desplegable. En el ejemplo, creamos un array de cadenas optionsToChoose que contiene las opciones que queremos mostrar en el menú desplegable.

Luego, llamamos al comando JOptionPane.showInputDialog() que toma múltiples argumentos; primero está el componente principal, donde podemos adjuntar el diálogo a un marco como JFrame. El segundo argumento es el mensaje que se mostrará junto al menú desplegable. También podemos establecer el título del diálogo, que es el tercer argumento, luego viene el tipo de mensaje, que puede ser cualquier cosa como un ERROR_MESSAGE o un PLAIN_MESSAGE, pero usamos QUESTION_MESSAGE.

El siguiente argumento es el icono que podemos mostrar junto al menú desplegable, pero lo configuramos como nulo. El sexto argumento es el array de opciones para elegir en el menú desplegable, y el último argumento es el valor de las opciones que se elegirán por defecto. Por último, obtenemos el valor seleccionado devuelto por el método JOptionPane.showInputDialog() como una cadena y lo mostramos en la salida.

import javax.swing.*;

public class DropDown {
  public static void main(String[] args) {
    String[] optionsToChoose = {"Apple", "Orange", "Banana", "Pineapple", "None of the listed"};

    String getFavFruit = (String) JOptionPane.showInputDialog(null,
        "What fruit do you like the most?", "Choose Fruit", JOptionPane.QUESTION_MESSAGE, null,
        optionsToChoose, optionsToChoose[3]);

    System.out.println("Your chosen fruit: " + getFavFruit);
  }
}

Producción:

Menú desplegable de Java

Your chosen fruit : Apple

Crear un menú desplegable usando JComboBox en Java

En este ejemplo, usamos la función JComboBox, que es parte del paquete javax.swing y se usa para mostrar una lista desplegable en una interfaz. A continuación, primero creamos el array de opciones para mostrar en la lista desplegable. JComboBox es un componente y necesita un marco para residir, por lo que creamos un objeto JFrame. Luego, creamos el objeto JComboBox y pasamos el array de opciones como su argumento en el constructor.

Establecemos la posición y el tamaño del cuadro de diálogo usando la función jComboBox.setBounds(). Luego hacemos un objeto JButton, pasamos el texto para mostrarlo dentro del constructor y establecemos los límites. Finalmente, para mostrar un mensaje cuando se elige una opción del menú desplegable, creamos un JLabel y establecemos sus límites.

A continuación, agregamos todos los componentes en el JFrame usando jFrame.add(). Establecemos el diseño de jFrame como nulo y fijamos su tamaño y visibilidad. Al final del código, también agregamos un comando ActionListener que escucha la acción realizada por el botón y llama a su método actionPerformed() para mostrar el mensaje en el JLabel con la opción que elegimos.

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

public class DropDown {
  public static void main(String[] args) {
    String[] optionsToChoose = {"Apple", "Orange", "Banana", "Pineapple", "None of the listed"};

    JFrame jFrame = new JFrame();

    JComboBox<String> jComboBox = new JComboBox<>(optionsToChoose);
    jComboBox.setBounds(80, 50, 140, 20);

    JButton jButton = new JButton("Done");
    jButton.setBounds(100, 100, 90, 20);

    JLabel jLabel = new JLabel();
    jLabel.setBounds(90, 100, 400, 100);

    jFrame.add(jButton);
    jFrame.add(jComboBox);
    jFrame.add(jLabel);

    jFrame.setLayout(null);
    jFrame.setSize(350, 250);
    jFrame.setVisible(true);

    jButton.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        String selectedFruit = "You selected " + jComboBox.getItemAt(jComboBox.getSelectedIndex());
        jLabel.setText(selectedFruit);
      }
    });
  }
}

Producción:

Menú desplegable de Java 2

Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java GUI

Artículo relacionado - Java Swing