Ajouter un objet dans un JComboBox Java

JComboBox fait partie du package Java Swing. JComboBox hérite de la classe JComponent. JComboBox affiche un menu contextuel qui affiche une liste et l’utilisateur peut sélectionner une option dans cette liste spécifiée. Dans ce tutoriel nous allons découvrir comment ajouter un objet dans un JComboBox en Java.
 
 
Généralement, JComboBox peut contenir des éléments de tout type. Si le type des éléments est un objet, la méthode toString() de l’objet sera utilisée pour obtenir le nom des éléments dans le ComboBox. Voici un exemple qui crée un ComboBox avec des éléments de type « Person »:
 

Exemple:
import javax.swing.*;

public class Main 
{
  public static void main(String argv[]) throws Exception 
  {
    // Créer et ajouter des objets au comboBox
    JComboBox<Person> cb = new JComboBox<Person>(
        new Person[] 
        {
            new Person("Thomas", 25), 
            new Person("Emily", 18),
            new Person("Alex", 33) 
        }
    );

    // Ajouter Listener au comboBox
    cb.addActionListener(e -> {
        JComboBox<Person> c = (JComboBox<Person>) e.getSource();
        // Afficher l'élément sélectionné
        Person p = (Person)c.getSelectedItem();
        System.out.println(p.getName());
    });

    // créer un frame
    JFrame frame = new JFrame();

    // ajouter le comboBox au frame
    frame.add(cb);
    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

class Person 
{
  private String name;
  private int age;

  public Person(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  @Override
  public String toString() {
    return name;
  }
}

Sortie:
 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *