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:
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:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java GUI
- Obtenha valor de JTextField
- Criar janela pop em Java
- Message Box em Java
- Desenhe uma linha em Java
- Desenhar um Triângulo em Java