Crea un menu a discesa in Java

Rupam Yadav 12 ottobre 2023
  1. Crea un menu a discesa usando JOptionPane in Java
  2. Crea un menu a discesa usando JComboBox in Java
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:

Menu a discesa Java

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:

Menu a discesa Java 2

Autore: Rupam Yadav
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

Articolo correlato - Java GUI

Articolo correlato - Java Swing