Crea un menu a discesa in Java
In questo tutorial, impareremo come creare un menu a discesa in Java utilizzando due metodi. Entrambe le tecniche vengono utilizzate per creare componenti della GUI e il menu a discesa è una di queste.
Crea un menu a discesa usando JOptionPane
in Java
La classe JOptionPane
fa parte del pacchetto javax.swing
, utilizzato principalmente per creare finestre di dialogo. Nelle finestre di dialogo, possiamo aggiungere più tipi di elementi e uno di questi è il componente a discesa. Nell’esempio, creiamo un array di stringhe optionsToChoose
contenente le opzioni che vogliamo mostrare nel menu a tendina.
Quindi, chiamiamo il comando JOptionPane.showInputDialog()
che accetta più argomenti; il primo è il componente genitore, dove possiamo collegare la finestra di dialogo a un frame come JFrame
. Il secondo argomento è il messaggio da visualizzare accanto al menu a discesa. Possiamo anche impostare il titolo della finestra di dialogo, che è il terzo argomento, quindi viene il tipo di messaggio, che può essere qualcosa come un ERROR_MESSAGE
o un PLAIN_MESSAGE
, ma usiamo QUESTION_MESSAGE
.
L’argomento successivo è l’icona che possiamo visualizzare accanto al menu a discesa, ma la impostiamo come null. Il sesto argomento è l’array di opzioni da scegliere nel menu a discesa e l’ultimo argomento è il valore delle opzioni da scegliere come predefinito. Alla fine, otteniamo il valore selezionato restituito dal metodo JOptionPane.showInputDialog()
come stringa e lo mostriamo nell’output.
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);
}
}
Produzione:
Your chosen fruit : Apple
Crea un menu a discesa usando JComboBox
in Java
In questo esempio, utilizziamo la funzione JComboBox
, che fa parte del pacchetto javax.swing
e viene utilizzata per mostrare un elenco a discesa in un’interfaccia. Di seguito, creiamo prima la serie di opzioni da visualizzare nella lista a discesa. JComboBox
è un componente e ha bisogno di un frame per risiedere, quindi creiamo un oggetto JFrame
. Quindi, creiamo l’oggetto JComboBox
e passiamo l’array di opzioni come argomento nel costruttore.
Impostiamo la posizione e la dimensione della finestra di dialogo utilizzando la funzione jComboBox.setBounds()
. Quindi creiamo un oggetto JButton
, passiamo il testo da mostrare su di esso all’interno del costruttore e impostiamo i limiti. Infine, per mostrare un messaggio quando viene scelta un’opzione dal menu a discesa, creiamo una JLabel
e ne impostiamo i limiti.
Successivamente, aggiungiamo tutti i componenti nel JFrame
usando jFrame.add()
. Impostiamo il layout di jFrame
come null e ne fissiamo le dimensioni e la visibilità. Alla fine del codice, aggiungiamo anche un comando ActionListener
che ascolta l’azione eseguita dal pulsante e chiama il suo metodo actionPerformed()
per mostrare il messaggio nella JLabel
con l’opzione che abbiamo scelto.
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);
}
});
}
}
Produzione:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticolo correlato - Java GUI
- Casella dei messaggi in Java
- Crea finestra pop in Java
- Disegna una linea in Java
- Disegna un cerchio in Java
- Disegna un triangolo in Java