Java Swing GUI

How to add an object to a JComboBox in Java

In this tutorial, we are going to see how to add an object to a JComboBox in Java. JComboBox is part of the Java Swing package. JComboBox inherits from the JComponent class. JComboBox displays a contextual menu which shows a list and the user can select an option in this specified list.

Generally, JComboBox can contain elements of any type. If the type of the elements is an object, toString() method of the object will be used to get the name of the elements in the ComboBox. Here is an example that creates a ComboBox with elements of type “Person”:
 

 

How to add an object to a JComboBox in Java
import javax.swing.*;

public class Main 
{
  public static void main(String argv[]) throws Exception 
  {
    // Create and add objects to the comboBox
    JComboBox<Person> cb = new JComboBox<Person>(
        new Person[] 
        {
            new Person("Thomas", 25), 
            new Person("Emily", 18),
            new Person("Alex", 33) 
        }
    );

    // Add Listener to the comboBox
    cb.addActionListener(e -> {
        JComboBox<Person> c = (JComboBox<Person>) e.getSource();
        // Show selected item
        Person p = (Person)c.getSelectedItem();
        System.out.println(p.getName());
    });

    // create a frame
    JFrame frame = new JFrame();

    // add the comboBox to the 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;
  }
}

Output:
 

 

mcqMCQPractice competitive and technical Multiple Choice Questions and Answers (MCQs) with simple and logical explanations to prepare for tests and interviews.Read More

Leave a Reply

Your email address will not be published. Required fields are marked *