Créer un menu déroulant en Java

Rupam Yadav 12 octobre 2023
  1. Créer un menu déroulant à l’aide de JOptionPane en Java
  2. Créer un menu déroulant à l’aide de JComboBox en Java
Créer un menu déroulant en Java

Dans ce tutoriel, nous allons apprendre comment créer un menu déroulant en Java en utilisant deux méthodes. Les deux techniques sont utilisées pour créer des composants GUI, et le menu déroulant en fait partie.

Créer un menu déroulant à l’aide de JOptionPane en Java

La classe JOptionPane fait partie du package javax.swing, utilisé principalement pour créer des boîtes de dialogue. Dans les boîtes de dialogue, nous pouvons ajouter plusieurs types d’éléments, et l’un d’eux est le composant déroulant. Dans l’exemple, nous créons un tableau de chaînes optionsToChoose contenant les options que nous voulons afficher dans le menu déroulant.

Ensuite, nous appelons la commande JOptionPane.showInputDialog() qui prend plusieurs arguments ; le premier est le composant parent, où nous pouvons attacher la boîte de dialogue à un cadre comme JFrame. Le deuxième argument est le message à afficher à côté de la liste déroulante. Nous pouvons également définir le titre de la boîte de dialogue, qui est le troisième argument, puis vient le type de message, qui peut être quelque chose comme un ERROR_MESSAGE ou un PLAIN_MESSAGE, mais nous utilisons QUESTION_MESSAGE.

L’argument suivant est l’icône que nous pouvons afficher à côté de la liste déroulante, mais nous la définissons comme nulle. Le sixième argument est le tableau d’options à choisir dans la liste déroulante, et le dernier argument est la valeur des options à choisir par défaut. Enfin, nous obtenons la valeur sélectionnée retournée par la méthode JOptionPane.showInputDialog() sous forme de chaîne et l’affichons dans la sortie.

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

Production:

Menu déroulant Java

Your chosen fruit : Apple

Créer un menu déroulant à l’aide de JComboBox en Java

Dans cet exemple, nous utilisons la fonction JComboBox, qui fait partie du package javax.swing et est utilisée pour afficher une liste déroulante dans une interface. Ci-dessous, nous créons d’abord le tableau d’options à afficher dans la liste déroulante. JComboBox est un composant et a besoin d’un cadre pour résider, nous créons donc un objet JFrame. Ensuite, nous créons l’objet JComboBox et passons le tableau options comme argument dans le constructeur.

Nous définissons la position et la taille de la boîte de dialogue à l’aide de la fonction jComboBox.setBounds(). Ensuite, nous créons un objet JButton, passons le texte à afficher dans le constructeur et définissons les limites. Enfin, pour afficher un message lorsqu’une option est choisie dans la liste déroulante, nous créons un JLabel et définissons ses limites.

Ensuite, nous ajoutons tous les composants dans le JFrame en utilisant jFrame.add(). Nous définissons la disposition de JFrame comme nulle et fixons sa taille et sa visibilité. A la fin du code, nous ajoutons également une commande ActionListener qui écoute l’action effectuée par le bouton et appelle sa méthode actionPerformed() pour afficher le message dans le JLabel avec l’option que nous avons choisie.

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

Production:

Menu déroulant Java 2

Auteur: 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

Article connexe - Java GUI

Article connexe - Java Swing