Crie um menu suspenso em Java

Rupam Yadav 12 outubro 2023
  1. Crie um menu suspenso usando JOptionPane em Java
  2. Crie um menu suspenso usando JComboBox em Java
Crie um menu suspenso em Java

Neste tutorial, aprenderemos como podemos criar um menu suspenso em Java usando dois métodos. Ambas as técnicas são usadas para criar componentes GUI, e o menu suspenso é uma delas.

Crie um menu suspenso usando JOptionPane em Java

A classe JOptionPane é uma parte do pacote javax.swing, usado principalmente para criar caixas de diálogo. Nas caixas de diálogo, podemos adicionar vários tipos de elementos, e um deles é o componente suspenso. No exemplo, criamos um array de string optionsToChoose contendo as opções que queremos mostrar no menu suspenso.

Em seguida, chamamos o comando JOptionPane.showInputDialog() que recebe vários argumentos; primeiro é o componente pai, onde podemos anexar a caixa de diálogo a um quadro como JFrame. O segundo argumento é a mensagem a ser exibida ao lado do menu suspenso. Também podemos definir o título do diálogo, que é o terceiro argumento, depois vem o tipo de mensagem, que pode ser qualquer coisa como ERROR_MESSAGE ou PLAIN_MESSAGE, mas usamos QUESTION_MESSAGE.

O próximo argumento é o ícone que podemos exibir ao lado do menu suspenso, mas o definimos como nulo. O sexto argumento é a matriz de opções a serem escolhidas no menu suspenso e o último argumento é o valor das opções a serem escolhidas como padrão. Por fim, obtemos o valor selecionado retornado pelo método JOptionPane.showInputDialog() como uma string e o mostramos na saída.

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);
  }
}

Resultado:

Menu suspenso de Java

Your chosen fruit : Apple

Crie um menu suspenso usando JComboBox em Java

Neste exemplo, usamos a função JComboBox, que faz parte do pacote javax.swing e é usada para mostrar uma lista suspensa em uma interface. Abaixo, primeiro criamos a matriz de opções para exibir na lista suspensa. JComboBox é um componente e precisa de um quadro para residir, então criamos um objeto JFrame. Em seguida, criamos o objeto JComboBox e passamos a matriz de opções como seu argumento no construtor.

Definimos a posição e o tamanho da caixa de diálogo usando a função jComboBox.setBounds(). Em seguida, fazemos um objeto JButton, passamos o texto para mostrar nele dentro do construtor e definimos os limites. Finalmente, para mostrar uma mensagem quando uma opção é escolhida no menu suspenso, criamos um JLabel e definimos seus limites.

Em seguida, adicionamos todos os componentes no JFrame usando jFrame.add(). Definimos o layout de jFrame como nulo e corrigimos seu tamanho e visibilidade. No final do código, adicionamos também um comando ActionListener que escuta a ação realizada pelo botão e chama seu método actionPerformed() para mostrar a mensagem no JLabel com a opção que escolhemos.

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);
      }
    });
  }
}

Resultado:

Java drop down menu 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

Artigo relacionado - Java GUI

Artigo relacionado - Java Swing