Java Swing How to - Store 400,000 rows of values into JComboBox








Question

We would like to know how to store 400,000 rows of values into JComboBox.

Answer

import java.awt.Color;
import java.awt.GridLayout;
import java.util.Vector;
//ww w . j  a v  a  2s  .c o  m
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Main {

  Vector<String> listSomeString = new Vector<String>();
  JComboBox someComboBox = new JComboBox(listSomeString);
  JFrame frame;

  public Main() {
    for (int i = 0; i < 100000; i++) {
      listSomeString.add("-");
      listSomeString.add("A");
      listSomeString.add("B");
      listSomeString.add("C");
      listSomeString.add("D");
    }

    someComboBox.setEditable(true);
    someComboBox.getEditor().getEditorComponent().setBackground(Color.YELLOW);
    ((JTextField) someComboBox.getEditor().getEditorComponent())
        .setBackground(Color.YELLOW);


    frame = new JFrame();
    frame.setLayout(new GridLayout(0, 1, 10, 10));
    frame.add(someComboBox);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocation(100, 100);
    frame.pack();
    frame.setVisible(true);
  }

  public static void main(String[] args) {
    new Main();
  }
}