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
