Как заполнить JComboBox с помощью ArrayList?

Мне нужно заполнить JComboBox ArrayList. Есть какой-либо способ сделать это?

Используйте метод toArray() classа ArrayList и передайте его в конструктор JComboBox

Дополнительную информацию см. В JavaDoc и учебнике .

Элегантный способ заполнить поле со списком :

 List ls = new ArrayList(); jComboBox.setModel(new DefaultComboBoxModel(ls.toArray())); 

Мне не нравится принятый ответ или комментарий @fivetwentysix относительно того, как это решить. Он получает один метод для этого, но не дает полного решения использовать toArray. Вам нужно использовать toArray и дать ему аргумент, который представляет собой массив правильного типа и размера, так что вы не получите массив объектов. Пока массив объектов будет работать, я не думаю, что это лучшая практика на строго типизированном языке.

 String[] array = arrayList.toArray(new String[arrayList.size()]); JComboBox comboBox = new JComboBox(array); 

Кроме того, вы также можете поддерживать сильную типизацию, просто используя цикл for.

 String[] array = new String[arrayList.size()]; for(int i = 0; i < array.length; i++) { array[i] = arrayList.get(i); } JComboBox comboBox = new JComboBox(array); 

Я считаю, что вы можете создать новый вектор с помощью ArrayList и передать его конструктору JCombobox.

 JComboBox combobox = new JComboBox(new Vector(myArrayList)); 

Мой пример – это только строки.

 DefaultComboBoxModel DLM = new DefaultComboBoxModel(); for (int i = 0; i < .size(); i++) { DLM.addElement(.get(i).getField()); } .setModel(DLM); 

Понятный code.Edit <> по мере необходимости.

Для справок:

 //first create the array; String[] comboBoxArray = {"item1","item2","item3"}; //create JComboBox and assign it to the comboBox JComboBox comboBox1 = new JComboBox(comboBoxArray); 

я думаю, что это решение

 ArrayList libel = new ArrayList
(); try { SessionFactory sf = new Configuration().configure().buildSessionFactory(); Session s = sf.openSession(); s.beginTransaction(); String hql = "FROM table "; org.hibernate.Query query = s.createQuery(hql); libel= (ArrayList
) query.list(); Iterator it = libel.iterator(); while(it.hasNext()) { table cat = (table) it.next(); cat.getLibCat();//table colonm getter combobox.addItem(cat.getLibCat()); } s.getTransaction().commit(); s.close(); sf.close(); } catch (Exception e) { System.out.println("Exception in getSelectedData::"+e.getMessage());
  • Как добавить изображение в JPanel?
  • Поворотная квадратная панель в Java GUI
  • Как изменить цвет JProgressBar?
  • Фоновое изображение для jPanel не работает
  • Как отображать слабый серый «текст-призрак» в JTextField?
  • Как изменить цвет JButton на нажатой мыши?
  • Трудности, связанные с пониманием механизма рендеринга JTable и JTree
  • как обращаться с плохим выбором файла для отображения изображения в качелях
  • Как установить фоновое изображение в JPanel
  • Отключить элементы в JList
  • Повторно нарисовать на полупрозрачной раме / панели / компоненте.
  • Давайте будем гением компьютера.