Crear un menú desplegable en Java
-
Crear un menú desplegable usando
JOptionPane
en Java -
Crear un menú desplegable usando
JComboBox
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:
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:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtículo relacionado - Java GUI
- Colores de fondo en Java
- Ventana emergente de alerta en Java
- Crear barra de progreso de Java usando la clase JProgressBar
- Grupo de botones en Java
- El método pack() en Java
- Obtenga valor de JTextField